要求這個程式不是當前激活的應用程式,但是能夠獲取掃描槍讀取內容;并區分鍵盤輸入。
條形碼內容為*KPE2191200001W*。
本人論壇小白,程式新手;請求各位大神幫忙。
uj5u.com熱心網友回復:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
InitSerialPort()
End Sub
Dim strIncoming As String
Dim RS232 As SerialPort
Private Sub InitSerialPort()
RS232 = New SerialPort("COM10", 9600, Parity.None, 8, 1)
If (Not RS232.IsOpen) Then
RS232.Open()
End If
Dim td As Thread = New Thread(AddressOf serialPort1_DataReceived)
td.Start()
End Sub
Private Sub serialPort1_DataReceived()
While True
If RS232.BytesToRead > 0 Then
strIncoming = RS232.ReadExisting.ToString
RS232.DiscardInBuffer()
Invoke(New EventHandler(AddressOf ForDisplay)) '呼叫接收資料函式
End If
End While
End Sub
Private Sub ForDisplay()
ListBox1.Items.Add(strIncoming) '取到回車符位置數-1
ListBox1.SelectedIndex = ListBox1.Items.Count - 1
If ListBox1.Items.Count > 1000 Then
Me.ListBox1.Items.Clear()
End If
End Sub
uj5u.com熱心網友回復:
區分鍵盤輸入你再百度吧uj5u.com熱心網友回復:
先給個解決問題的鏈接https://blog.csdn.net/weixin_33691598/article/details/91659687之所以回復樓主這個帖子,是因為我07年時候用vs2005\vb.net寫過類似程式,當時是用的easyhook(這個記得)。那個代碼早已不記得,而且那時候用的IDE硬碟都不知到哪兒去了。鏈接里的代碼,大致看了下,貌似跟我當時寫的差不多。但最勾引我回憶的是:當時我寫那個東西的趣事。
那時,我們當地有個做郎酒的區域代理商遇到物流時候的大問題,一個集裝箱過來,包裝都差不多,標識是條碼,必須用掃描槍去掃,才能分類,但掃描槍掃出來都是條碼,不是商品的類別和價格,這老板頭就大了,找了個打字部,把條碼對應的商品屬性列印出來,然后卸貨時候,派個倉管在那兒掃,然后對應列印出來的卡片,然后指定倉庫里的貨位。基本就是全人工,而且最讓他郁悶的是,到底這些貨的統計,萬一有人在里面做手腳,比如低價位的酒弄到高價位的貨區去,他損失就大了(他必須按高價位付錢)。而且效率很低,有時負責掃描的發卡的時候,卸貨工就得扛著貨物在那兒排隊等著。現在回想那時,物流系統和品牌渠道系統可以說都沒成熟的。當時湊巧他的一個門店經理跟我老婆是閨蜜,我那時還在政府部門上班,知道我能編點代碼,就找到我了。那時我把電腦直接搬到他倉庫現場開發了好幾個小時,老婆抱著孩子跟她閨蜜一直在旁邊陪我。最后效果:掃描槍掃描以后,直接商品所有屬性全部出來,并且自動統計。當時,那老板就讓門店經理給了我老婆一個信封,回家一看居然是2000元整,當時我正工資才1055.我們當時就去超市給孩子買了幾件多美滋奶粉。印象極其深刻。結果還沒完,后來這老板又托門店經理在快過年時候,給我送了2件紅花郎和一件小郎酒(歪嘴郎)到家里來,放下就走了,頭也不會。這個事件,讓我印象太深刻了。看到這個貼,完全讓我回憶起來,特此調侃下。
uj5u.com熱心網友回復:
謝謝兩位大神,本小白先研究一下,有問題再請教大神。uj5u.com熱心網友回復:
掃描槍分兩種模式,一種是模擬鍵盤,一種是模擬串口的。模擬鍵盤的是即插即用的,與鍵盤是天然沖突。無法做到100%避免。因為是模擬鍵盤,怎么都會與鍵盤沖突。因為程式分不清鍵盤和掃槍。因為他們都是走USB的。我們之前的解決方案是把掃槍換成模擬串口形式,這個需要裝驅動,然后呼叫驅動的dll即可。也很簡單。這樣可以準確識別串口,程式里寫死都可以。很方便。但是有一個問題就是掃槍的廠家必須提供支持模擬串口的掃槍。一般情況掃槍都是支持模擬串口的。有些便宜的掃槍為了省成本可能會只支持模擬鍵盤。改成模擬串口后不存在鍵盤沖突問題了。可以100%避免。當程式呼叫的是驅動中模擬串口的dll時,程式不用是當前激活的應用程式,掃槍的驅動會激活程式運行。uj5u.com熱心網友回復:
實際上這樣的機會不是人人都有的。我做零售那會也經常要統計資料,于是想做個程式,讓資料統計輕松些。最后是做出來了,但已經不干那份工了,受不了丟東西的困擾,每個月總要自己倒貼一些錢。uj5u.com熱心網友回復:
路過這里,希望你能找到很好的答案。。。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/70707.html
標籤:VB.NET
