我知道你可以在.net生态系统中使用WIA而不会(太)麻烦,但我发现这样使用WIA,好吧,至少不稳定。我已经看到我的代码表现完美,完全没有工作到某些WIA功能无法正常工作并拒绝播放,更不用说好了。
您可以在我的WIA 2.0 HP ScanJet 7650 specific problems问题中阅读相关内容,该问题没有得到任何评论,更不用说在六个月内回答了。
所以,我愿意购买适用于合理金额的WIA .NET组件 - 合理的价格高达300美元。我一直在浏览一下ComponentSorce,并且有很多2000美元的brontosaurses做了TWAIN并且如果不好的话会吃小孩子,但不是一个WIA .NET组件。
哦,是的,有点咆哮 - 关于WIA的MSDN文档和示例实际上真的不合格。
更新 - 对于所有认为可以通过阅读WIA上的示例代码的概念验证和外观工作文章来解决此问题的人 - 它不能。从外观工作到对许多设备的可靠扫描支持是很多工作。我已经使用.net上的WIA在我的计算机上测试了三种不同的扫描仪,当你认为你已经找到了一些细节时,你就插入了另一台扫描仪并发现你没有想到任何东西。这就是为什么我愿意为此付出代价。
答案 0 :(得分:2)
以上项目可以从以下网址下载: http://10rem.net/media/55896/petebrownwpfscannerdemo.zip
它在C#中,所以它可能有所帮助。
答案 1 :(得分:2)
您可能想要检查设备是否支持WPD,在Vista或更高版本中替换WIA。如果设备不支持WPD,请尝试使用WIA Automation Layer访问设备。它肯定无法处理WIA设备特定的问题,但至少它对标准化行为有利。如果既不支持WPD也不支持WIA,我恐怕你必须处理旧的TWAIN接口。
WIA documentation in Windows Driver Kit与Windows SDK中的文档相同。如果驱动程序开发人员未遵循WIA驱动程序指南,请不要感到惊讶。如果您使用WIA扫描程序树,请确保您了解Windows XP,Vista和Windows 7的树形布局的不同。
在.NET Scanning API处讨论了.Net应用程序的这些API包装器。
答案 2 :(得分:0)
我会省钱并建议阅读这样的文章: http://www.codeproject.com/KB/cs/WebCamService.aspx
按照步骤操作,并调整代码以满足您的要求。
答案 3 :(得分:0)
我对这个问题发表了评论,但我想我会在这个链接集中加入我刚刚遇到的新内容:https://github.com/baffles/derp-scan
看起来它可能是WIA库的开头,可能实际上可用(某天)。
从查看代码时,问题可能是某些属性仅用作设备属性,有些仅用作项属性(WIA_DPS_ * vs WIA_IPS_ *):http://msdn.microsoft.com/en-us/library/windows/hardware/ff539542(v=vs.85).aspx
它提到两者之间存在重叠,我猜测没有两个扫描仪的行为方式相同......这是否意味着你应该只设置它们?我不知道。我和你在一起,文件很糟糕。
TL; DR;从codeproject复制代码对这段时间没有帮助。