3年前寫了一篇《 USB口的紅外條形碼掃描器的另類使用 》,不過相關代碼是VB編寫,在這幾年之間,有許多網友提出需要C#版的,起初還以為由VB修改C#應該很容易,最近研究了一下,發現C#和VB調用API的機制還是有所不同的,在遷移的過程中還是會遇到不少問題,所以我專門抽時間做了一個基于C#的程序。
【目前的條形碼掃描器有點類似外接鍵盤(其實從消息傳送上它就相當于一個鍵盤),把輸入焦點定位到可輸入的控件上,一掃描相應的條形碼信息就輸入到文本框中去了,但是如果沒有輸入焦點,或另一個不相干的程序獲得輸入焦點,那就有點亂套了。我想實現的是,不管什么情況,只要掃描器一工作,我的程序就能自動激活,并能獲得當前輸入的條形碼信息。 實現思路:我用的是litele牌的USB口的紅外條形碼掃描器,仔細分析了一下,掃描成功后,以鍵盤按鍵消息的形式把條形碼輸入信息通知給系統。這樣通過鍵盤鉤子就可以方便的獲得該信息了。但是,怎樣區分信息是鍵盤還是條形碼輸入的哪?很簡單,條形碼掃描器在很短的時間內輸入了至少3個字符以上信息,并且以“回車”作為結束字符,在這種思想指引下,很完美的實現了預定功能。】
VB相關的代碼請見: http://blog.csdn.net/yefanqiu/archive/2006/08/30/1144881.aspx
窗體相關代碼:
BarCodeHook 類:
【注意】和VB程序不同,要想測試實際的效果,必須執行編譯后的Exe文件,在開發環境直接運行會沒有效果的。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
