共用方式為


VkKeyScanA 函式 (winuser.h)

[此函式已由 VkKeyScanEx 函式取代。 不過,如果您不需要指定鍵盤配置,您仍然可以使用 VkKeyScan。]

將字元轉譯為目前鍵盤的對應虛擬按鍵程式代碼和移位狀態。

語法

SHORT VkKeyScanA(
  [in] CHAR ch
);

參數

[in] ch

類型:TCHAR

要轉譯成虛擬金鑰程式代碼的字元。

傳回值

類型:SHORT

如果函式成功,傳回值的低階位元組包含虛擬索引鍵程式代碼,而高階位元組則包含移位狀態,這可以是下列旗標位的組合。

傳回值 描述
1
按下任一 SHIFT 鍵。
2
按下任一 CTRL 鍵。
4
按下任一 ALT 鍵。
8
按下漢卡庫鍵
16
保留 (由鍵盤配置驅動程式定義)。
32
保留 (由鍵盤配置驅動程式定義)。
 

如果函式找不到轉譯為傳遞字元碼的索引鍵,則低序和高階位元組都包含 –1。

言論

對於使用右鍵做為shift鍵鍵盤設定(例如法文鍵盤配置),移位狀態會以值6表示,因為右側ALT鍵會在內部轉換成 CTRL+ALT。

會忽略數位鍵盤的翻譯(VK_NUMPAD0VK_DIVIDE)。 此函式僅供主鍵盤區段將字元轉譯為按鍵。 例如,字元 「7」 會轉譯成VK_7,而不是VK_NUMPAD7。

VkKeyScan 是由使用 WM_KEYUPWM_KEYDOWN 訊息傳送字元的應用程式使用。

注意

winuser.h 標頭會將 VkKeyScan 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 winuser.h (包括 Windows.h)
連結庫 User32.lib
DLL User32.dll

另請參閱