仮想キーの状態を取得するには GetKeyState 関数を使います。
仮想キーの代表として[SHIFT]キー、[CTRL]キー、[ALT]キーのシフトキーがあります。
これらを必要なタイミングで状態を調べるときに仮想キーの状態を取得します。(戻る)
プロトタイプ宣言
SHORT GetKeyState( int nVirtKey // 仮想キーコード );
使い方
if ( GetKeyState(VK_SHIFT) < 0 ){ // [SHIFT]キーが押されてる。 } else{ // [SHIFT]キーが押されてない。 }
- 上記の使い方では[SHIFT]キーの状態を調べたいので VK_SHIFT 定数を使ってます。
- また[CTRL]キーの状態を調べるには VK_CONTROL 定数を使います。
- あと[ALT]キーの状態を調べるには VK_MENU 定数を使います。
英数字の仮想キー定数
- 数字キーの「VK_0」から「VK_9」の仮想キー定数は WinUser.h には定義されてません。
そこで文字定数の '0'~'9' を使って 0x30 ~ 0x39 を表します。 - 英字キーの「VK_A」から「VK_Z」の仮想キー定数は WinUser.h には定義されてません。
そこで文字定数の 'A'~'Z' を使って 0x41 ~ 0x5A を表します。(必ず大文字を使うこと)
仮想キーの定数
定数 | 意味 |
---|---|
マウス・ボタン | |
VK_LBUTTON | マウスの左ボタン |
VK_RBUTTON | マウスの右ボタン |
VK_MBUTTON | マウスの中央ボタン |
VK_XBUTTON1 | マウスの左サイドボタン(Windows 2000/XP以降) |
VK_XBUTTON2 | マウスの右サイドボタン(Windows 2000/XP以降) |
シフトキー | |
VK_SHIFT | [Shift] |
VK_CONTROL | [Ctrl] |
VK_MENU | [Alt] |
VK_NUMLOCK | [Num Lock] |
VK_CAPITAL | [Caps Lock] |
VK_SCROLL | [Scroll Lock] |
左右シフトキー | |
VK_LSHIFT | 左[Shift] |
VK_RSHIFT | 右[Shift] |
VK_LCONTROL | 左[Ctrl] |
VK_RCONTROL | 右[Ctrl] |
VK_LMENU | 左[Alt] |
VK_RMENU | 右[Alt] |
IMEモード | |
VK_KANA | IMEかなモード |
VK_HANGEUL VK_HANGUL | IMEハングル・モード |
VK_JUNJA | IEM |
VK_FINAL | IEM |
VK_HANJA | IEM |
VK_KANJI | IME漢字モード |
VK_CONVERT | IME変換[XFER] |
VK_NONCONVERT | IME無変換[NFER] |
VK_ACCEPT | IME |
VK_MODECHANGE | IMEモード変更 |
特殊キー | |
VK_CANCEL | [Ctrl]+[Break] |
VK_ESCAPE | [Esc] |
VK_TAB | [Tab] |
VK_BACK | [Back Space] |
VK_SPACE | スペース |
VK_RETURN | [Enter] |
VK_CLEAR | [Clear]とは[Num Lock]を外した状態のテン[5] |
VK_PAUSE | [Pause] |
VK_PRINT | [Print] |
VK_SELECT | [Select] |
VK_EXECUTE | [Execute] |
VK_SNAPSHOT | [Print Screen] |
VK_LWIN | 左のWindowsキー |
VK_RWIN | 右のWindowsキー |
VK_APPS | Applicationsキー(アプリケーション・キー)ポップアップ・メニューが開く |
VK_SLEEP | コンピュータのスリープ・キー |
移動キー | |
VK_UP | [↑] |
VK_DOWN | [↓] |
VK_LEFT | [←] |
VK_RIGHT | [→] |
VK_PRIOR | [Page Up] |
VK_NEXT | [Page Down] |
VK_HOME | [Home] |
VK_END | [End] |
VK_HELP | [Help] |
VK_INSERT | [Insert] |
VK_DELETE | [Delete] |
テンキー | |
VK_NUMPAD0 | テンキーの[0] |
VK_NUMPAD1 | テンキーの[1] |
VK_NUMPAD2 | テンキーの[2] |
VK_NUMPAD3 | テンキーの[3] |
VK_NUMPAD4 | テンキーの[4] |
VK_NUMPAD5 | テンキーの[5] |
VK_NUMPAD6 | テンキーの[6] |
VK_NUMPAD7 | テンキーの[7] |
VK_NUMPAD8 | テンキーの[8] |
VK_NUMPAD9 | テンキーの[9] |
VK_MULTIPLY | テンキーの[*] |
VK_ADD | テンキーの[+] |
VK_SEPARATOR | テンキーの[,] |
VK_SUBTRACT | テンキーの[-] |
VK_DECIMAL | テンキーの[.] |
VK_DIVIDE | テンキーの[/] |
ファンクションキー | |
VK_F1 | [F1] |
VK_F2 | [F2] |
VK_F3 | [F3] |
VK_F4 | [F4] |
VK_F5 | [F5] |
VK_F6 | [F6] |
VK_F7 | [F7] |
VK_F8 | [F8] |
VK_F9 | [F9] |
VK_F10 | [F10] |
VK_F11 | [F11] |
VK_F12 | [F12] |
VK_F13 | [F13] |
VK_F14 | [F14] |
VK_F15 | [F15] |
VK_F16 | [F16] |
VK_F17 | [F17] |
VK_F18 | [F18] |
VK_F19 | [F19] |
VK_F20 | [F20] |
VK_F21 | [F21] |
VK_F22 | [F22] |
VK_F23 | [F23] |
VK_F24 | [F24] |
ブラウザキー | |
VK_BROWSER_BACK | ブラウザの[戻る]キー |
VK_BROWSER_FORWARD | ブラウザの[進む]キー |
VK_BROWSER_REFRESH | ブラウザの[更新]キー |
VK_BROWSER_STOP | ブラウザの[中止]キー |
VK_BROWSER_SEARCH | ブラウザの[検索]キー |
VK_BROWSER_FAVORITES | ブラウザの[お気に入り]キー |
VK_BROWSER_HOME | ブラウザの[起動/ホーム]キー |
音量キー | |
VK_VOLUME_MUTE | 音量ミュート・キー |
VK_VOLUME_DOWN | 音量ダウン・キー |
VK_VOLUME_UP | 音量アップ・キー |
メディアキー | |
VK_MEDIA_NEXT_TRACK | メディアの[次のトラック]キー |
VK_MEDIA_PREV_TRACK | メディアの[前のトラック]キー |
VK_MEDIA_STOP | メディアの[メディア停止]キー |
VK_MEDIA_PLAY_PAUSE | メディアの[メディア再生/一時停止]キー |
ランチャーキー | |
VK_LAUNCH_MAIL | ランチャの[メール起動]キー |
VK_LAUNCH_MEDIA_SELECT | ランチャの[メディア選択]キー |
VK_LAUNCH_APP1 | ランチャの[アプリケーション(1)起動]キー |
VK_LAUNCH_APP2 | ランチャの[アプリケーション(2)起動]キー |
その他 | |
VK_OEM_1 | [:][*]※米国標準キーボードでは[;][:]キー(様々な文字に使用されてキーボードによって異なる) |
VK_OEM_2 | [/][?]※様々な文字のために使用できます。(米国標準キーボードでは[/][?]) |
VK_OEM_3 | [@][`]※様々な文字のために使用できます。(米国標準キーボードでは[`][~]) |
VK_OEM_4 | [[][{]※様々な文字のために使用できます。(米国標準キーボードでは[[][{]) |
VK_OEM_5 | [\][|]※様々な文字のために使用できます。(米国標準キーボードでは[\][|]) |
VK_OEM_6 | []][}]※様々な文字のために使用できます。(米国標準キーボードでは[]][}]) |
VK_OEM_7 | [^][~]※様々な文字のために使用できます。(米国標準キーボードでは[']["]) |
VK_OEM_8 | ※様々な文字のために使用できます。 |
VK_OEM_PLUS | [;][+]※任意の国/地域のキーボードで[+]キー |
VK_OEM_MINUS | [-][=]※任意の国/地域のキーボードで[-]キー |
VK_OEM_COMMA | [,][<]※任意の国/地域のキーボードで[,]キー |
VK_OEM_PERIOD | [.][>]※任意の国/地域のキーボードで[.]キー |
仮想キーの定義は WinUser.h (369行~640行)にあります。(NOVIRTUALKEYCODESを検索すれば良い)
関連記事
参考文献
- Virtual-Key Codes (MSDN)
※コメント投稿者のブログIDはブログ作成者のみに通知されます