我尝试以编程方式控制自定义应用程序中的twain扫描程序。我不想显示扫描仪的原生用户界面。
我将CAP_INDICATORS
功能设置为FALSE
,并将CAP_UICONTROLLABLE
功能设置为TRUE
。
然后我使用DG_CONTROL / DAT_USERINTERFACE / MSG_ENABLEDS
开始扫描,而ShowUI
结构中的TW_USERINTERFACE
设置为FALSE
。
我通过不同的扫描仪进行了测试。虽然我的Epson DS-30扫描仪在没有ui的情况下按预期工作,但我的Avision A6扫描仪在扫描期间仍显示进度UI:
当我调用DG_IMAGE / DAT_IMAGEINFO / MSG_GET
操作时,会显示此UI,以便从扫描仪获取图像详细信息。使用DAT_IMAGEINFO
命令,此A6扫描仪开始扫描纸张,扫描完成后,我终于可以接收TW_IMAGEINFO
结构。
在设置UI模式时,我没有收到任何TWRC_CHECKSTATUS
。
这个特定的扫描仪在没有UI的情况下实际上不支持twain吗?
或者我可以使用某种方法来禁用此UI吗?
答案 0 :(得分:0)
实际上很大程度上取决于驱动程序的实现。
因此,您从应用程序设置的选项会根据其支持的功能配置驱动程序。如果在这种情况下驱动程序不允许配置无UI扫描的驱动程序功能,则应用程序实现可能无法按预期工作。
有关完整的详细信息,请参阅TWAIN文档。