VkKeyScanA 函式 (winuser.h)
[此函式已被 VkKeyScanEx 函式取代。 不過,如果您不需要指定鍵盤配置,您仍然可以使用 VkKeyScan。]
將字元轉譯為目前鍵盤的對應虛擬按鍵程式代碼和移位狀態。
語法
SHORT VkKeyScanA(
[in] CHAR ch
);
參數
[in] ch
類型: TCHAR
要轉譯成虛擬金鑰碼的字元。
傳回值
類型: SHORT
如果函式成功,則傳回值的低序位元組包含虛擬索引鍵程式代碼,而高序位元組包含移位狀態,這可以是下列旗標位的組合。
傳回值 | 描述 |
---|---|
|
已按下SHIFT鍵。 |
|
按下任一 CTRL 鍵。 |
|
按下任一 ALT 鍵。 |
|
按下 Hankaku 鍵 |
|
鍵盤配置驅動程式所定義的保留 () 。 |
|
鍵盤配置驅動程式所定義的保留 () 。 |
如果函式找不到轉譯為傳遞字元碼的索引鍵,則低序和高序位元組都包含 –1。
備註
例如,對於使用右鍵做為shift鍵 (的鍵盤配置,例如法文鍵盤配置) ,則shift狀態會以值6表示,因為右手ALT鍵會在內部轉換成 CTRL+ALT。
忽略 數值按鍵 (VK_NUMPAD0 VK_DIVIDE) 的翻譯。 此函式旨在只將字元從主鍵盤區段轉譯成按鍵。 例如,字元 「7」 會轉譯成VK_7,而不是VK_NUMPAD7。
VkKeyScan 是由使用 WM_KEYUP 和 WM_KEYDOWN 訊息傳送字元的應用程式使用。
注意
winuser.h 標頭會將 VkKeyScan 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winuser.h (包含 Windows.h) |
程式庫 | User32.lib |
Dll | User32.dll |