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

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