特定のキーが押されているかを調べる

最終更新 2003 09/22

サンプルのダウンロード → API_GetAsyncKeyState.lzh(37k)

サンプルプログラムのスクリーンショット

全ソースコード



GetAsyncKeyState 関数
    
    対応しているバージョン
    95, 98, Me, NT3.1以降, CE1.0以降, 2000, XP
        
    使用するヘッダとライブラリ
    winuser.h
    user32.lib
ある特定のキーが押されているかどうかを調べたい時は GetAsyncKeyState() 関数を使って調べることができます。 WM_KEYDOWN や WM_KEYUP メッセージで WPARAM の値を調べたりするよりも 使い勝手が良いです。 必要なキーだけ調べることができますし、同時押しの判定にも使えます。 ゲームではこれを使うことになるでしょう。 使い方は至ってシンプルで if( GetAsyncKeyState( キーコード ) ){ /* キーが押されている */ } こんな感じで押されているかを調べます。 キーコードには仮想キーコードを使うと分かりやすくて良いです。 仮想キーコードと、対応するキーの一覧を用意しましたので、よければ 参考に使って下さい。 仮想キーコード一覧 GetAsyncKeyState() 関数を使うと、マウスのボタンが押されているかも 調べることができます。 ただ、GetAsyncKeyState() 関数を使うと、3つ以上の同時押しは 判定できません。 これはウィンドウズのシステム的な仕様なのか、キーボードの ハードウェア的な仕様なのか分かりませんが、どうすることも できません。

| home |