拡張コードを追加しました。2002/6/2

キーイベント入力例を追加しました。2002/6/13


キーコード文字はSDKで定義されている仮想キーコード定数とほぼ同じです。最新のSDKのヘッダファイルを元に作成しました。本来"0〜9""A〜Z"はASCIIコードと同じため定義されていませんが、ここでは"VK_"を付加しています。

使用する場合は入力ミスをなくすために、キーコード文字をコピーしてください。
だいたい"VK_"以降がキー名を表しています。また、"VK_"以降が"$07"のように"$"で始まっている物はSDKでも未定義です。一部OEM依存する物は除外されています。


仮想キーコードはシステムの状態に応じてOSが作り出した仮想的なキーコードです。
キーボード上のキーと仮想キーコードは、必ずしも1対1に対応しているわけではありません。中にはキー操作だけでは発生させることのできないキーコードもあります。

ホイールキーはすべての仮想キーを指定できますので、通常のキー操作では発生させることのできない仮想キーの機能を簡単に利用することができます。

仮想キーコード表
キーコード(16進) キーコード文字 一般的な呼び名 備考
0x00 VK_$00   使用不可
0x01 VK_LBUTTON    
0x02 VK_RBUTTON    
0x03 VK_CANCEL Break  
0x04 VK_MBUTTON   NOT contiguous with L & RBUTTON
0x05 VK_XBUTTON1    
0x06 VK_XBUTTON2    
0x07 VK_$07    
0x08 VK_BACK Backspace  
0x09 VK_TAB Tab  
0x0A VK_$0A    
0x0B VK_$0B    
0x0C VK_CLEAR    
0x0D VK_RETURN Enter  
0x0E VK_$0E    
0x0F VK_$0F    
0x10 VK_SHIFT Shift  
0x11 VK_CONTROL Ctrl   
0x12 VK_MENU Alt   
0x13 VK_PAUSE Pause  
0x14 VK_CAPITAL    
0x15 VK_KANA   VK_HANGEUL,VK_HANGUL
0x16 VK_$16    
0x17 VK_JUNJA    
0x18 VK_FINAL    
0x19 VK_KANJI   VK_HANJA
0x1A VK_$1A    
0x1B VK_ESCAPE Esc  
0x1C VK_CONVERT 変換 ShiftまたはCtrlとの同時押下
0x1D VK_NONCONVERT 無変換   
0x1E VK_ACCEPT    
0x1F VK_MODECHANGE    
0x20 VK_SPACE スペース  
0x21 VK_PRIOR PgUp  
0x22 VK_NEXT PgDn  
0x23 VK_END End  
0x24 VK_HOME Home   
0x25 VK_LEFT  
0x26 VK_UP ↑   
0x27 VK_RIGHT →   
0x28 VK_DOWN ↓   
0x29 VK_SELECT    
0x2A VK_PRINT    
0x2B VK_EXECUTE    
0x2C VK_SNAPSHOT    
0x2D VK_INSERT Insert   
0x2E VK_DELETE Delete   
0x2F VK_HELP    
0x30 VK_0   0〜9          
0x31 VK_1  
0x32 VK_2  
0x33 VK_3  
0x34 VK_4  
0x35 VK_5  
0x36 VK_6  
0x37 VK_7  
0x38 VK_8  
0x39 VK_9  
0x3A VK_$3A    
0x3B VK_$3B    
0x3C VK_$3C    
0x3D VK_$3D    
0x3E VK_$3E    
0x3F VK_$3F    
0x40 VK_$40    
0x41 VK_A   A〜Z                          
0x42 VK_B  
0x43 VK_C  
0x44 VK_D  
0x45 VK_E  
0x46 VK_F  
0x47 VK_G  
0x48 VK_H  
0x49 VK_I  
0x4A VK_J  
0x4B VK_K  
0x4C VK_L  
0x4D VK_M  
0x4E VK_N  
0x4F VK_O  
0x50 VK_P  
0x51 VK_Q  
0x52 VK_R  
0x53 VK_S  
0x54 VK_T  
0x55 VK_U  
0x56 VK_V  
0x57 VK_W  
0x58 VK_X  
0x59 VK_Y  
0x5A VK_Z  
0x5B VK_LWIN 左ウィンドウズキー  
0x5C VK_RWIN 右ウィンドウズキー  
0x5D VK_APPS アプリケーションキー ポップアップメニューが開くキー
0x5E VK_$5E    
0x5F VK_SLEEP    
0x60 VK_NUMPAD0   テンキー               
0x61 VK_NUMPAD1  
0x62 VK_NUMPAD2  
0x63 VK_NUMPAD3  
0x64 VK_NUMPAD4  
0x65 VK_NUMPAD5  
0x66 VK_NUMPAD6  
0x67 VK_NUMPAD7  
0x68 VK_NUMPAD8  
0x69 VK_NUMPAD9  
0x6A VK_MULTIPLY *
0x6B VK_ADD +
0x6C VK_SEPARATOR ,
0x6D VK_SUBTRACT -
0x6E VK_DECIMAL .
0x6F VK_DIVIDE /
0x70 VK_F1   ファンクションキー                        
0x71 VK_F2  
0x72 VK_F3  
0x73 VK_F4  
0x74 VK_F5  
0x75 VK_F6  
0x76 VK_F7  
0x77 VK_F8  
0x78 VK_F9  
0x79 VK_F10  
0x7A VK_F11  
0x7B VK_F12  
0x7C VK_F13  
0x7D VK_F14  
0x7E VK_F15  
0x7F VK_F16  
0x80 VK_F17  
0x81 VK_F18  
0x82 VK_F19  
0x83 VK_F20  
0x84 VK_F21  
0x85 VK_F22  
0x86 VK_F23  
0x87 VK_F24  
0x88 VK_$88    
0x89 VK_$89    
0x8A VK_$8A    
0x8B VK_$8B    
0x8C VK_$8C    
0x8D VK_$8D    
0x8E VK_$8E    
0x8F VK_$8F    
0x90 VK_NUMLOCK Num Lock  
0x91 VK_SCROLL Scroll Lock  
0x92 VK_$92    
0x93 VK_$93    
0x94 VK_$94    
0x95 VK_$95    
0x96 VK_$96    
0x97 VK_$97    
0x98 VK_$98    
0x99 VK_$99    
0x9A VK_$9A    
0x9B VK_$9B    
0x9C VK_$9C    
0x9D VK_$9D    
0x9E VK_$9E    
0x9F VK_$9F    
0xA0 VK_LSHIFT    
0xA1 VK_RSHIFT    
0xA2 VK_LCONTROL    
0xA3 VK_RCONTROL    
0xA4 VK_LMENU    
0xA5 VK_RMENU    
0xA6 VK_BROWSER_BACK ブラウザー 戻る
0xA7 VK_BROWSER_FORWARD 進む
0xA8 VK_BROWSER_REFRESH 更新
0xA9 VK_BROWSER_STOP 中止
0xAA VK_BROWSER_SEARCH 検索ウィンドウの表示・非表示
0xAB VK_BROWSER_FAVORITES お気に入りウィンドウの表示・非表示
0xAC VK_BROWSER_HOME ホーム
0xAD VK_VOLUME_MUTE    
0xAE VK_VOLUME_DOWN    
0xAF VK_VOLUME_UP    
0xB0 VK_MEDIA_NEXT_TRACK    
0xB1 VK_MEDIA_PREV_TRACK    
0xB2 VK_MEDIA_STOP    
0xB3 VK_MEDIA_PLAY_PAUSE    
0xB4 VK_LAUNCH_MAIL   メーラー起動
0xB5 VK_LAUNCH_MEDIA_SELECT    
0xB6 VK_LAUNCH_APP1    
0xB7 VK_LAUNCH_APP2    
0xB8 VK_$B8    
0xB9 VK_$B9    
0xBA VK_OEM_1 :  
0xBB VK_OEM_PLUS ;  
0xBC VK_OEM_COMMA ,  
0xBD VK_OEM_MINUS -^  
0xBE VK_OEM_PERIOD .  
0xBF VK_OEM_2 /  
0xC0 VK_OEM_3 @  
0xC1 VK_$C1    
0xC2 VK_$C2    
0xC3 VK_$C3    
0xC4 VK_$C4    
0xC5 VK_$C5    
0xC6 VK_$C6    
0xC7 VK_$C7    
0xC8 VK_$C8    
0xC9 VK_$C9    
0xCA VK_$CA    
0xCB VK_$CB    
0xCC VK_$CC    
0xCD VK_$CD    
0xCE VK_$CE    
0xCF VK_$CF    
0xD0 VK_$D0    
0xD1 VK_$D1    
0xD2 VK_$D2    
0xD3 VK_$D3    
0xD4 VK_$D4    
0xD5 VK_$D5    
0xD6 VK_$D6    
0xD7 VK_$D7    
0xD8 VK_$D8    
0xD9 VK_$D9    
0xDA VK_$DA    
0xDB VK_OEM_4 [  
0xDC VK_OEM_5 \  
0xDD VK_OEM_6 ]  
0xDE VK_OEM_7 ^  
0xDF VK_OEM_8    
0xE0 VK_$E0    
0xE1 VK_OEM_AX    
0xE2 VK_OEM_102 \(バックスラッシュ)  
0xE3 VK_ICO_HELP    
0xE4 VK_ICO_00    
0xE5 VK_PROCESSKEY   IMEがONの時、変換に関わるすべてのキーで発生
0xE6 VK_ICO_CLEAR    
0xE7 VK_PACKET    
0xE8 VK_$E8    
0xE9 VK_OEM_RESET    
0xEA VK_OEM_JUMP    
0xEB VK_OEM_PA1    
0xEC VK_OEM_PA2    
0xED VK_OEM_PA3    
0xEE VK_OEM_WSCTRL    
0xEF VK_OEM_CUSEL    
0xF0 VK_OEM_ATTN Caps Lock  
0xF1 VK_OEM_FINISH    
0xF2 VK_OEM_COPY カタカナ
ひらがな
ローマ字
IMEがOFFの時
0xF3 VK_OEM_AUTO 半角/全角
漢字
半角時にShiftまたはCtrlと同時押下すると交互に発生
0xF4 VK_OEM_ENLW 半角/全角
漢字
0xF5 VK_OEM_BACKTAB    
0xF6 VK_ATTN    
0xF7 VK_CRSEL    
0xF8 VK_EXSEL    
0xF9 VK_EREOF    
0xFA VK_PLAY    
0xFB VK_ZOOM    
0xFC VK_NONAME    
0xFD VK_PA1    
0xFE VK_OEM_CLEAR    
0xFF VK_$FF   使用不可

 

拡張コード
拡張コードはVKX_xxxのように"VKX_"から始まります。
拡張コード文字 概要 説明 備考
VKX_IMEON IMEをオープンします IMEをONにします。入力モードは変化しません。

前回の入力モードを引き継ぎますのでイベント終了後に入力される文字は不定です。漢字を入力する場合はVKX_IMEKANA使用します。
IME
VKX_IMEOFF IMEをクローズします IMEをOFFにします。

デフォルト動作で実行されるので使用する機会はあまりありません。同一イベントでIMEをONにした後OFFにしたい場合に使用します。
VKX_IMENOOPE デフォルトIME制御の禁止 デフォルト動作であるイベント発生前のIMEクローズとイベント終了後のIME復元動作を禁止します。
注意 この拡張コードはキーイベントの先頭で指定する必要があります。先頭以外で指定された場合は無視されます。
キーイベント文字列では、先頭または、見出しの直後に指定します。

例:IMEのON/OFF

IMEの切り替え = VKX_IMENOOPE, VK_KANJI
VKX_IMEKANA IMEオープン後、全角ひらがなに設定 IMEをONにし、入力モードを全角ひらがなに設定します。キーイベントを利用して漢字の名前を入力する時等に使用します。

例:杉原(変換候補の先頭である必要あり)

名前 = VKX_IMEKANA , VK_S , VK_U , VK_G , VK_I , VK_H , VK_A , VK_R , VK_A , VK_CONVERT , VK_RETURN

VK_CONVERTで変換しVK_RETURNで確定します。改行したい場合はVK_RETURNをもう一つ追加します。
注意 起動後1回目の変換は失敗することがあります


キーイベント入力例
【共通】
コピー = VK_CONTROL + VK_C
貼り付け = VK_CONTROL + VK_V
ボリューム下 = VK_VOLUME_DOWN
ボリューム上 = VK_VOLUME_UP
IME = VKX_IMENOOPE , VK_KANJI
最上部 = VK_CONTROL + VK_HOME
最下部 = VK_CONTROL + VK_END
元に戻す = VK_CONTROL + VK_Z
最小化 = VK_MENU + VK_SPACE , VK_N

【IE】
WINDOWS更新 = VK_MENU , VK_T , VK_U

【OE】
送受信 = VK_MENU , VK_T , VK_S , VK_A

【Internet Explorer_Serverクラス】
進む = VK_MENU + VK_RIGHT
戻る = VK_MENU + VK_LEFT
もどる = VK_BROWSER_BACK
ホーム = VK_BROWSER_HOME
更新 = VK_F5
検索 = VK_CONTROL + VK_F

【VC】
FILE検索(VC) = VK_MENU , VK_E , VK_I
ブックマーク次 = VK_F2
ブックマーク前 = VK_SHIFT + VK_F2
ページ移動(VC) = VK_CONTROL + VK_TAB
ウィンドウ = VK_MENU , VK_W

【Desktop】
デスクトップ = VK_LWIN + VK_D

【その他】
メールアドレス = VK_T , VK_A , VK_T , VK_S , VK_U , VK_O , VK_OEM_PERIOD , VK_S , VK_U , VK_G , VK_I , VK_H , VK_A , VK_R , VK_A , VK_OEM_3 , VK_N , VK_I , VK_F , VK_T , VK_Y , VK_OEM_PERIOD , VK_N , VK_E , VK_OEM_PERIOD , VK_J , VK_P

上段をすべて選択してメモ帳に貼り付け、保存して使用すると簡単に入力できます。そのままコピーできるようにセルで分割していません。入力時はコピー&ペーストすることになりますが、リムーバルファンクションのインアクティブコピーを使用すると便利です。


【Desktop】のデスクトップ はクイックランチにあるデスクトップの表示と同じです。XPではデスクトップでホイールキーが使用できるようです。(webページは表示していません)
【その他】のメールアドレスは私のtatsuo.sugihara@nifty.ne.jpです。これを参考に編集して使用してください。