我有兩個問題:
=============================== ① ===============================
我的 PC 上連有兩個輸入設備,一個 USB 鍵盤和一個 USB 滑鼠。
我在測驗程式中呼叫 GetRawInputDeviceList 回傳的設備數為 6,然后依次呼叫 GetRawInputDeviceInfo 來獲取設備的資訊。
上圖 ↓






奇怪的是我獲取的設備資訊告訴我其中兩個設備是鍵盤,兩個設備是滑鼠,并且同類別的兩個設備間還存在差別,別如鍵盤的 TotalKeys 一個是 101 一個是 154,但是我數了數鍵盤是 107 鍵的...
并且我查看了設備管理器,與鍵盤硬體 ID 相同的設備有 2 個,與滑鼠硬體 ID 相同的設備有 1個。
這是為什么?
=============================== ② ===============================
我用 GetRawInputDeviceInfo 獲得的設備中,鍵盤的 UsagePage = 1,Usage = 6;滑鼠的 UsagePage = 1,Usage = 2;
然后我去 MSDN 看了一下 UsagePage 和 Usage 在此處的定義,MSDN上說 UsagePage is the class of the device;Usage is the device within the class。如果我沒理解錯的話 UsagePage 應該指的是設備的類別吧,然后 Usage 指的是類別中的設備?那么鍵盤和滑鼠的 UsagePage 為什么是相等的?
希望有人能為我解惑?惑而不從師,其為惑也。
uj5u.com熱心網友回復:
奇怪沒人回復嗎uj5u.com熱心網友回復:
求救啊各位,迫切需要解決uj5u.com熱心網友回復:

用 GetRawDeviceList 的時候獲取到了 6 個設備,鍵盤有兩個,滑鼠也有兩個。
然后呢一個鍵盤設備的 Name 顯示 Root RDP_KBD 什么的,
另一個鍵盤設備的 Name 顯示 VID, HID ..
然后我想問一下這兩個設備到底是有什么區別呢,有的時候 WM_INPUT 訊息來自一個鍵盤設備,有時候來自另一個鍵盤設備。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/105703.html
上一篇:大家好!
