<Return[O]><Top>

OemKeyScan

Declare Function Api_OemKeyScan& Lib "user32" Alias "OemKeyScan" (ByVal wOemChar&)

Declare Function OemKeyScan Lib "user32" (ByVal wOemChar As Long) As Long

0〜0x0FF の OEM ASCII コードを、OEM スキャンコードとシフト状態へ変換する。この関数は、キーボード入力をシミュレートすることによって、あるプログラムが他のプログラムへ OEM テキストを送信できるようにする。

パラメータ
wOemChar
    [入力]OEM 文字の ASCII 値を指定する。

戻り値
    指定された OEM 文字のスキャンコードが下位ワードに、シフト状態が上位ワードに返る。後者は、次のビットの組み合わせになる。

    ビット値

意味                                                                            

    1

どちらかの Shift キーが押されている。

    2

どちらかの Ctrl キーが押されている。

    4

どちらかの Alt キーが押されている。

    8

半角 キーが押されている。

    16

予約済み( キーボードレイアウトドライバによって定義される)。

    32

予約済み( キーボードレイアウトドライバによって定義される)。

    現在のキーボードレイアウトで、その文字を 1 回のキーストロークで生成できないときは、-1 が返る。

解説
    この関数は、Ctrl+Alt、またはデッドキーを必要とする文字の変換をサポートしていない。この関数が変換しない文字をコピーするには、

    Alt+ 数値キーによるコード入力の方法で入力をシミュレートしなければならない。このとき、NumLock キーを OFF にしなければならない。

    デッドキーの名前はそのとおり( たとえば「'」)に出力される。( 英語以外の言語ではアクセントやウムラウトなどの文字飾りを使うことがあ

    る。たとえば、最初に「'」、次に「a」を押すと、アクサンテギュ付きの a を入力できるキーボードと OS がある。このような場合、「'」を

    デッドキーと呼ぶ。)
    デッドキーを必要とするアクセント付きの文字など、現在のキーボードレイアウトで 1 回のキーストロークで入力できない文字の変換について

    は、この関数はサポートしていない。この関数が変換しない文字は、Alt+ 数値キーによるコード入力方法でシミュレートできることがある。こ

    のとき、NumLock キーを ON にしなければならない。
    この関数は、VkKeyScan 関数を使って実装されている。