RAWINPUTDEVICE 結構 (winuser.h)
定義原始輸入裝置的資訊。
語法
typedef struct tagRAWINPUTDEVICE {
USHORT usUsagePage;
USHORT usUsage;
DWORD dwFlags;
HWND hwndTarget;
} RAWINPUTDEVICE, *PRAWINPUTDEVICE, *LPRAWINPUTDEVICE;
成員
usUsagePage
類型:USHORT
原始輸入裝置的最上層集合使用量頁面。 如需可能值的詳細資訊,請參閱 windows 中支援的
usUsage
類型:USHORT
原始輸入裝置的最上層集合使用量標識碼。 如需可能值的詳細資訊,請參閱 windows 中支援的
dwFlags
類型:DWORD
模式旗標,指定如何解譯usUsagePage 和 usUsage所提供的資訊。 它可以是零(預設值)或下列其中一個值。 根據預設,只要具有視窗焦點,操作系統就會從具有指定 最上層集合 (TLC) 的裝置傳送原始輸入至已註冊的應用程式。
價值 | 意義 |
---|---|
|
如果設定,這會從包含清單中移除最上層集合。 這會告訴操作系統停止從符合最上層集合的裝置讀取。 |
|
如果設定,這會指定讀取完整使用頁面時要排除的最上層集合。 此旗標只會影響已使用 RIDEV_PAGEONLY指定其使用頁面的 TLC。 |
|
如果設定,這會指定最上層集合來自指定 usUsagePage的所有裝置。 請注意,usUsage 必須是零。 若要排除特定最上層集合,請使用 RIDEV_EXCLUDE。 |
|
如果設定,這會防止 usUsagePage 或 usUsage 所指定的任何裝置產生 舊版訊息。 這僅適用於滑鼠和鍵盤。 請參閱。 |
|
如果設定,這可讓呼叫端接收輸入,即使呼叫端不在前景也一樣。 請注意,必須指定 hwndTarget。 |
|
如果設定,滑鼠按鈕按兩下不會啟動另一個視窗。 只有在為滑鼠裝置指定 RIDEV_NOLEGACY 時,才能指定 RIDEV_CAPTUREMOUSE。 |
|
如果設定,則不會處理應用程式定義的鍵盤裝置快速鍵。 不過,系統熱鍵;例如,仍會處理 ALT+TAB 和 CTRL+ALT+DEL。 根據預設,會處理所有鍵盤快捷鍵。 即使未指定 RIDEV_NOLEGACY,而且 hwndTargetNULL,也可以指定 RIDEV_NOHOTKEYS。 |
|
如果設定,則會處理應用程式命令密鑰。 只有在為鍵盤裝置指定 RIDEV_NOLEGACY 時,才能指定 RIDEV_APPKEYS。 |
|
如果設定,這可讓呼叫端只有在前景應用程式未處理時,才會在背景接收輸入。 換句話說,如果前景應用程式未註冊原始輸入,則註冊的背景應用程式將會收到輸入。
Windows XP: Windows Vista 之前不支援此旗標 |
|
如果設定,這可讓來電者接收裝置抵達和裝置移除 WM_INPUT_DEVICE_CHANGE 通知。
Windows XP: Windows Vista 之前不支援此旗標 |
hwndTarget
類型:HWND
目標視窗的句柄。 如果 NULL,則原始輸入事件會遵循鍵盤焦點,以確保只有焦點應用程式視窗會收到事件。
言論
如果為滑鼠或鍵盤設定 RIDEV_NOLEGACY,系統就不會為該應用程式產生該裝置的任何舊版訊息。 例如,如果滑鼠 TLC 是以 RIDEV_NOLEGACY設定,則不會產生 WM_LBUTTONDOWN 和 相關的舊版滑鼠訊息。 同樣地,如果鍵盤 TLC 是以 RIDEV_NOLEGACY設定,則不會產生 WM_KEYDOWN 和 相關的舊版鍵盤訊息。
如果已設定
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
標頭 | winuser.h (包括 Windows.h) |
另請參閱
概念
Windows 中支援的
參考