2012-02-06 84 views
0

我有2個通過USB連接的鍵盤。我希望我的應用程序只能從其中一個接收輸入。我試圖使用TJvHidDeviceController,我得到了一個處理設備,但我無法獲得任何數據。只從我的delphi應用獲取HID設備數據

是否有可能阻止其他應用程序接收來自第二個鍵盤的輸入?

+0

只需拔插頭! – 2012-02-06 20:46:05

+0

@DavidHeffernan我使用的是一個定製的隱藏設備,問題更復雜,但我給了一個簡單的例子,因爲該設備的行爲就像一個鍵盤發送一些數據;) – opc0de 2012-02-06 20:53:18

+0

聲音給我像條碼掃描儀可能嗎? – 2012-02-07 02:56:16

回答

1

您的設置可能無法爲要收聽的鍵盤加載設備驅動程序嗎?如果是這樣,你可以試試這個方法:

  • 使用QueryDosDevice列出您計算機上的所有設備。您可以在列表中搜索列表中的供應商和設備ID,或者在插入第二個鍵盤之前和之後建立列表,並查看列表中出現哪些項目。
  • 使用CreateFile\\?\前綴連接到此設備並從中讀取/寫入原始數據。
+0

但如果設備驅動程序未加載,我仍然可以從它讀取數據? – opc0de 2012-02-06 16:36:12

+0

要求您不要在設備上加載設備驅動程序,否則CreateFile會向'文件已被另一個進程獨佔打開'之類的文件拋出錯誤。 – 2012-02-07 08:39:55

+0

隱藏設備自動調整我沒有ideea如何我可以停止從beeing加載的驅動程序... – opc0de 2012-02-07 09:11:52

相關問題