用户取消时 TWAIN 阻塞
Posted
技术标签:
【中文标题】用户取消时 TWAIN 阻塞【英文标题】:TWAIN blocks when user cancels 【发布时间】:2011-05-02 07:44:03 【问题描述】:我在我的扫描应用程序中使用了Twain Dot Net 的略微修改版本。问题是,当用户使用扫描仪上的按钮取消扫描(或卡纸)时,TWAIN 应该显示错误消息并返回一些失败代码。
但是,相反,对DG_IMAGE
/ DAT_IMAGENATIVEXFER
/ MSG_GET
的调用以TWRC_XFERDONE
正确返回,但对DG_CONTROL
/ DAT_PENDINGXFERS
/ MSG_ENDXFER
的调用在此之后永远不会返回。我做错了什么?
应用程序是使用 WPF 编写的,TWAIN 的消息被发送到在其自己的线程上运行的仅消息窗口。扫描仪为松下 KV-S4065C。
【问题讨论】:
【参考方案1】:我已经解决了。我不确定发生了什么,但是在同一个消息循环上运行所有 TWAIN 方法 TWAIN 设置为使用它。这也意味着拆分图像传输循环——在一次迭代完成后,它会将自己排入消息循环的队列中。
【讨论】:
您能否详细说明您的解决方案。我面临同样的问题。在我使用 DG_IMAGE / DAT_IMAGENATIVEXFER / MSG_GET 调用 DSM_Entry 的 msg 循环中,API 被阻止并且在扫描完成之前不会返回。 @ikis 对不起,8 年多过去了,除了我在上面的答案中写的内容之外,我不能给你更多的信息。以上是关于用户取消时 TWAIN 阻塞的主要内容,如果未能解决你的问题,请参考以下文章