2013-04-06 62 views
0

我正在爲模擬鍵盤的條形碼掃描器編寫C#DLL。我正在與此戰鬥一段時間。我有原始輸入的問題。我發現的所有例子都需要MainApplication窗口句柄。如何連接到設備並在沒有它的情況下掃描條形碼。第二個問題是我必須知道它是從哪個鍵盤發出的。C#低級別鍵盤設備

我試圖用這個來得到它:

http://www.codeproject.com/Articles/17123/Using-Raw-Input-from-C-to-handle-multiple-keyboard

它讓我的數據和設備名稱,但要求窗口句柄。

你有什麼想法嗎?

m。

回答

0

我認爲您需要有代碼來初始化設置,並且從設備掃描條形碼時,請記錄設備名稱並將其分配到鍵盤或者在配置文件或數據庫中。

然後你就知道了。

+0

我認爲你不瞭解我或我不是你。我需要從控制檯應用程序到鍵盤設備,並監聽數據輸入,並同時檢查它正在從哪個設備來。如果是來自條形碼(我知道這個設備句柄),如果不留下,就繼續操作。 – Mateusz 2013-04-07 09:14:03

+0

對於我來說問題出在這部分代碼中: IntPtr p = System.Diagnostics.Process.GetCurrentProcess()。MainWindowHandle; System.Windows.Interop.HwndSource source = System.Windows.Interop.HwndSource.FromHwnd(p); source.AddHook(new System.Windows.Interop.HwndSourceHook(WndProc)); MainWindowHandle是somethig,我沒有。我無法附加到Windows消息。對此的回答將對我有用 – Mateusz 2013-04-07 09:24:27