最近做和扫描仪接入的扫描应用程序,深深感觉到了来自底层设备和WINDOWS协议的恶意。软件专业,对计算机深层次通知机制和协议,以及与之相连接的机器的接入协议和一些参数,当时并木有认真学习和了解,前一阵子做到真是泪流满面。Codeproject,Stackoverflow,codeplex都要翻到吐了。感觉有时间还是把计算机底层认真去学习了解一下才是正道。先在这里把我前一阵的探索和想到的解决方法列出来给同样需要的朋友们吧。
扫描仪API最初只有TWAIN协议,之后增加了WIA协议,直到最近有做到富士通的一款扫描仪,它两者均不具有,接入必须使用其驱动软件,这也增加了我们开发扫描仪接入程序的难度。
后面是我总结的关于这三种情况的解决方法。
1. TWAIN。此为大多数扫描仪基础协议。是C++语言写的底层dll,对.NET来说通过DLLImport来扩展使用。
此协议是很底层的协议,并没有经过.NET封装。所以要了解其机制才能更好的来开发。
官网及其样例:http://www.twain.org/scannerserviceproviders/specification-and-tools.html
CNBLOG其实有蛮多文章。先是介绍:http://w