仮想キーコードとキーの状態に対応するWindows文字(AscII値)を取得する
Declare Function ToAsciiEx Lib "user32.dll" _
(ByVal uVirtKey As Long, ByVal uScanCode As Long, _
lpKeyState As Any, lpChar As Integer, ByVal uFlags As Long, _
ByVal dwhkl As Long) As Long
Declare Function ToAsciiEx Lib "user32.dll" _
(ByVal uVirtKey As Integer, ByVal uScanCode As Integer, _
lpKeyState As Integer, lpChar As Short, ByVal uFlags As Integer, _
ByVal dwhkl As Integer) As Integer
int ToAsciiEx(
UINT uVirtKey,
UINT uScanCode,
PBYTE lpKeyState,
LPWORD lpChar,
UINT uFlags,
HKL dwhkl
);
引数
uVirtKey
仮想キーコードuScanCode
スキャンコード(ビット7がオンのとき、キーダウン状態を示す)lpKeyState
キーボードの状態を示す256バイトのバイト配列lpChar
ビット7がオンのとき、キーダウン状態を示す
ビット0がオンのとき、Capsロックキーがオン
(戻り値)AscII値を受け取るバッファuFlags
メニューがアクティブかどうかを指定するフラッグdwhkl
メニューがアクティブなとき 1
アクティブでないとき 0
キーボードレイアウトのハンドル戻り値
指定のキーがデッドキーのとき 負数戻り値を示す定数
それ以外のとき 戻り値を示す定数
0 指定の仮想キーは、キーの状態に対して変換されなかった
1 バッファに1文字コピーした
2 バッファに2文字コピーした(デッドキーを使うときのみ発生)