gpt4 book ai didi

c# - 如何检查扫描仪是否已插入(C#、.NET TWAIN)

转载 作者:太空狗 更新时间:2023-10-29 18:19:43 25 4
gpt4 key购买 nike

我正在使用 http://www.codeproject.com/KB/dotnet/twaindotnet.aspx?msg=1007385#xx1007385xx 中的 .NET TWAIN 代码在我的申请中。当我在未插入扫描仪的情况下尝试扫描图像时,应用程序卡住。

如何使用 TWAIN 驱动程序检查设备是否已插入?

最佳答案

也许我从字面上理解了这个问题,但是使用 TWAIN API,无法检查设备是否已插入,即连接和开机。 TWAIN 标准确实为此目的定义了一个称为 CAP_DEVICEONLINE 的功能,但这个功能的构思太差,很少有驱动程序正确实现它,以至于它在实践中毫无用处。

最接近的是:打开设备 (MSG_OPENDS):几乎所有驱动程序在打开时都会检查设备是否就绪,并向用户显示错误对话框。 没有用于抑制或检测此对话框的 TWAIN 机制某些驱动程序将允许用户更正问题并继续,在这种情况下,您(您的应用程序)将永远不会知道存在问题。一些驱动程序将允许用户取消,在这种情况下 MSG_OPENDS 操作将失败,可能返回 TWRC_CANCEL 但也可能返回 TWRC_FAILURE

即使设备处于离线状态,一些 TWAIN 驱动程序也可以正常打开。这样的驱动程序可能对 CAP_DEVICEONLINE 的查询返回 FALSE。当您使用 MSG_ENABLEDS 启用设备时,此类驱动程序可能会执行设备在线检查,然后如果设备未在线,您将向用户显示错误对话框,依此类推。

旁白和 IMPO:WIA 比 TWAIN“更现代”,但在扫描方面也不那么全面,而且根据我的经验,它无法用于从文档进纸器进行多页扫描。 WIA 的设计者和维护者似乎不了解或不关心低端消费平板以外的扫描仪。这对相机很有用。

关于c# - 如何检查扫描仪是否已插入(C#、.NET TWAIN),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/100284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com