キーのスキャンコードを取得します。
SC := GetKeySC(KeyName)
型:文字列
任意の1文字、またはキーリストのキー名の1つを指定します。例:B、5、LWin、RControl、Alt、Enter、Escape。
あるいは、vkFFのような明示的な仮想キーコード、sc01Dのような明示的なスキャンコード、vk1Bsc001のようなVKとSCの組み合わせ(この順)であっても差し支えありません。なお、これらのコードは16進数である必要があります。
型:整数
この関数は、指定されたキーのスキャンコードを返し、キーが無効であるかスキャンコードがない場合は0を返します。
Hotkeyや GetKeyStateなどの内蔵機能でスキャンコードを使用する前に、Format("sc{:X}", sc_code)
などで16進数形式に変換しておく必要があります。これに対して、DllCallを介して呼び出される外部関数は、通常、数値を直接使用します。
KeyNameが仮想キーコードまたは1文字に対応する場合、この関数は、スクリプトの現在のキーボードレイアウトを参照する特定のシステム関数を呼び出して、値をスキャンコードにマッピングしようとします。アクティブウィンドウのキーボード配列と異なる場合があります。
KeyNameがA-Zの範囲のASCII文字で、キーボードレイアウト内にマッピングがない場合、vk41-vk5Aの範囲の対応する仮想キーが予備として使用されます。この仮想キーは、上記のようにスキャンコードにマッピングされます。
キーボードレイアウトによっては、仮想キーコードとスキャンコードの1:1マッピングが定義されていないものがあります。複数の解釈が可能な場合、基本的なシステム機能はキーボードレイアウトで定義された順序に基づいて1つを選択することがほとんどですが、これは必ずしも最も一般的または論理的な選択とは限りません。
GetKeyVK、GetKeyName、GetKeyState、キーリスト、Format