Twain 在 DAT_USERINTERFACE 中禁用 UI,在扫描期间仍然显示 UI

Twain disable UI in DAT_USERINTERFACE, still show UI during scan

我正在尝试在我的自定义应用程序中以编程方式控制 twain 扫描仪。我不想显示扫描器的原生 UI.

我将 CAP_INDICATORS 能力设置为 FALSE,并将 CAP_UICONTROLLABLE 能力设置为 TRUE

然后我使用 DG_CONTROL / DAT_USERINTERFACE / MSG_ENABLEDS 开始扫描,而 TW_USERINTERFACE 结构中的 ShowUI 设置为 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?

实际上很大程度上取决于驱动程序的实现。

因此,您从应用程序设置的选项会根据它支持的功能配置驱动程序。如果 UI-less 扫描的驱动程序功能不允许由驱动程序配置,在这种情况下,您的应用程序实现可能无法按预期工作。

有关完整的详细信息,请参阅 TWAIN 文档。