GetKeyVK

鍵の仮想鍵コードを取得します。

VK := GetKeyVK(KeyName)

パラメータ

KeyName

型:文字列

任意の1文字、またはキーリストのキー名の1つを指定します。例:B, 5, LWin, RControl, Alt, Enter, Escape.

あるいは、vkFFのような明示的な仮想キーコード、sc01Dのような明示的なスキャンコード、vk1Bsc001のようなVKとSCの組み合わせ(この順)であっても差し支えありません。なお、これらのコードは16進数である必要があります。

戻り値

型:整数

説明: 指定された鍵の仮想鍵コードを返し、その鍵が無効であるか仮想鍵コードがない場合は 0 を返す。

備考

HotkeyGetKeyStateなどの組み込み関数で仮想キーコードを使用する前に、Format("vk{:X}", vk_code)などで16進数形式に変換しておく必要があります。これに対して、DllCallを介して呼び出される外部関数は、通常、数値を直接使用します。

KeyNameがスキャンコードまたは1文字に対応する場合、この関数は、スクリプトの現在のキーボードレイアウトを参照する特定のシステム関数を呼び出して、値を仮想キーコードにマッピングしようとします。アクティブウィンドウのキーボード配列と異なる場合があります。

KeyNameがA-Zの範囲のASCII文字で、キーボードレイアウト内にマッピングがない場合、vk41-vk5Aの範囲の対応する仮想キーが予備として使用されます。

キーボードレイアウトによっては、仮想キーコードとスキャンコードの1:1マッピングが定義されていないものがあります。複数の解釈が可能な場合、基本的なシステム機能はキーボードレイアウトで定義された順序に基づいて1つを選択することがほとんどですが、これは必ずしも最も一般的または論理的な選択とは限りません。

GetKeySC, GetKeyName, GetKeyState, Key List, Format

Escの仮想キーコードを16進数で取得し報告します。

vk_code := GetKeyVK("Esc")
MsgBox Format("vk{:X}", vk_code) ; vk1Bの報告。