包含模擬鍵盤事件的相關資訊。
語法
typedef struct tagKEYBDINPUT {
WORD wVk;
WORD wScan;
DWORD dwFlags;
DWORD time;
ULONG_PTR dwExtraInfo;
} KEYBDINPUT, *PKEYBDINPUT, *LPKEYBDINPUT;
Members
wVk
類型: WORD
一個 虛擬鑰匙代碼。 代碼必須是 1 到 254 之間的值。 若 dwFlags 成員指定 KEYEVENTF_UNICODE,wVk 必須為 0。
wScan
類型: WORD
鑰匙的硬體掃描碼。 若 dwFlags 指定 KEYEVENTF_UNICODE,wScan 則指定一個 Unicode 字元,傳送至前景應用程式。
dwFlags
類型: DWORD
指定按鍵的各個面向。 這個成員可以是以下數值的某些組合。
| 價值觀 | Meaning |
|---|---|
|
若有指定, wScan 掃描碼由兩個位元組組成,第一個位元組值為 0xE0。 更多資訊請參見 Extended-Key 旗 幟。 |
|
若指定,該金鑰即被釋放。 若未指定,則表示該按鍵正在被按下。 |
|
若指定, wScan 會識別金鑰, wVk 則被忽略。 |
|
若有指定,系統會合成 VK_PACKET 按鍵。 wVk 參數必須為零。 此旗幟只能與 KEYEVENTF_KEYUP 旗合併使用。 如需詳細資訊,請參閱<備註>一節。 |
time
類型: DWORD
事件的時間戳,以毫秒為單位。 若參數為零,系統會自行提供時間戳記。
dwExtraInfo
類型: ULONG_PTR
與按鍵相關的額外值。 請使用 GetMessageExtraInfo 功能取得這些資訊。
備註
INPUT_KEYBOARD 支援非鍵盤輸入方法,例如手寫辨識或語音辨識,就像文字輸入一樣,透過使用 KEYEVENTF_UNICODE 旗標。 若指定KEYEVENTF_UNICODE,SendInput 會向前景執行緒的訊息隊列發送WM_KEYDOWN或WM_KEYUP訊息,wParam 等於 VK_PACKET。 一旦 GetMessage 或 PeekMessage 收到此訊息,將訊息傳給 TranslateMessage 會發布一則包含 wScan 原始 Unicode 字元的 WM_CHAR 訊息。 若 Unicode 字元貼入 ANSI 視窗,該 Unicode 字元將自動轉換為相應的 ANSI 值。
將 KEYEVENTF_SCANCODE 旗標設定為以掃描碼定義鍵盤輸入。 這對於模擬實體按鍵非常有用,無論目前使用的是哪個鍵盤。 如果掃描碼是擴展鍵,你也可以傳 KEYEVENTF_EXTENDEDKEY 旗標。 按鍵的虛擬按鍵值會根據當前鍵盤配置或按過的其他按鍵而改變,但掃描碼永遠相同。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
| 支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
| Header | winuser.h (包括 Windows.h) |