版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、虛擬鍵碼虛擬鍵碼保存在WM_KEYDOWN、WM_KEYUP、WM_SYSKEYDOWN和WM_SYSKEYUP訊息的wParam參數(shù)中。此代碼標識按下或釋放的鍵。 哈,又是虛擬,您喜歡這個詞嗎?虛擬指的是假定存在于思想中而不是現(xiàn)實世界中的一些事物,也只有熟練使用DOS組合語言編寫應(yīng)用程式的程式寫作者才有可能指出,為什么對Windows鍵盤處理如此基本的鍵碼是虛擬的而不是真實的。 對於早期的程式寫作者來說,真實的鍵碼由實際鍵盤硬體產(chǎn)生。在Windows文件中將這些鍵碼稱為掃描碼(scan codes。在IBM相容機種上,掃描碼16是Q鍵,17是W鍵,18是E、19是R,20是T,21是Y等等。
2、這時您會發(fā)現(xiàn),掃描碼是依據(jù)鍵盤的實際布局的。Windows開發(fā)者認為這些代碼過於與設(shè)備相關(guān)了,於是他們試圖通過定義所謂的虛擬鍵碼,以便經(jīng)由與裝置無關(guān)的方式處理鍵盤。其中一些虛擬鍵碼不能在IBM相容機種上產(chǎn)生,但可能會在其他制造商生產(chǎn)的鍵盤中找到,或者在未來的鍵盤上找到。 您使用的大多數(shù)虛擬鍵碼的名稱在WINUSER.H表頭檔案中都定義為以VK_開頭。表6-2列出了這些名稱和數(shù)值(十進位和十六進位),以及與虛擬鍵相對應(yīng)的IBM相容機種鍵盤上的鍵。下表也標出了Windows執(zhí)行時是否需要這些鍵。下表還按數(shù)位順序列出了虛擬鍵碼。 前四個虛擬鍵碼中有三個指的是滑鼠鍵: 表6-2 十進位 十六進位 WI
3、NUSER.H識別字 必需? IBM相容鍵盤 1 01 VK_LBUTTON 滑鼠左鍵 2 02 VK_RBUTTON 滑鼠右鍵 3 03 VK_CANCEL Ctrl-Break 4 04 VK_MBUTTON 滑鼠中鍵 您永遠都不會從鍵盤訊息中獲得這些滑鼠鍵代碼。在下一章可以看到,我們能夠從滑鼠訊息中獲得它們。VK_CANCEL代碼是一個虛擬鍵碼,它包括同時按下兩個鍵(Ctrl-Break。Windows應(yīng)用程式通常不使用此鍵。 表6-3中的鍵-Backspace、Tab、Enter、Escape和Spacebar通常用於Windows程式。不過,Windows一般用字元訊息(而不是鍵盤訊
4、息)來處理這些鍵。 表6-3 十進位 十六進位 WINUSER.H識別字 必需? IBM相容鍵盤 8 08 VK_BACK Backspace 9 09 VK_TAB Tab 12 0C VK_CLEAR Num Lock關(guān)閉時的數(shù)字鍵盤5 13 0D VK_RETURN Enter (或者另一個) 16 10 VK_SHIFT Shift (或者另一個) 17 11 VK_CONTROL Ctrl (或者另一個) 18 12 VK_MENU Alt (或者另一個) 19 13 VK_PAUSE Pause 20 14 VK_CAPITAL Caps Lock 27 1B VK_ESCAPE
5、Esc 32 20 VK_SPACE Spacebar 另外,Windows程式通常不需要監(jiān)視Shift、Ctrl或Alt鍵的狀態(tài)。 表6-4列出的前八個碼可能是與VK_INSERT和VK_DELETE一起最常用的虛擬鍵碼: 表6-4 十進位 十 六進位 WINUSER.H識別字 必需? IBM相容鍵盤 33 21 VK_PRIOR Page Up 34 22 VK_NEXT Page Down 35 23 VK_END End 36 24 VK_HOME Home 37 25 VK_LEFT 左箭頭 38 26 VK_UP 上箭頭 39 27 VK_RIGHT 右箭頭 40 28 VK_DO
6、WN 下箭頭 41 29 VK_SELECT 42 2A VK_PRINT 43 2B VK_EXECUTE 44 2C VK_SNAPSHOT Print Screen 45 2D VK_INSERT Insert 46 2E VK_DELETE Delete 47 2F VK_HELP 注意,許多名稱(例如VK_PRIOR和VK_NEXT)都與鍵上的標志不同,而且也與卷動列中的識別字不統(tǒng)一。Print Screen鍵在平時都被Windows應(yīng)用程式所忽略。Windows本身回應(yīng)此鍵時會將視訊顯示的點陣圖影本存放到剪貼板中。假使有鍵盤提供了VK_SELECT、VK_PRINT、VK_EXEC
7、UTE和VK_HELP,大概也沒幾個人看過那樣的鍵盤。 Windows也包括在主鍵盤上的字母和數(shù)位鍵的虛擬鍵碼(數(shù)字鍵盤將單獨處理)。 表6-5 十進位 十六進位 WINUSER.H識別字 必需? IBM相容鍵盤 48-57 30-39 無 主鍵盤上的0到9 65-90 41-5A 無 A到Z 注意,數(shù)字和字母的虛擬鍵碼是ASCII碼。Windows程式幾乎從不使用這些虛擬鍵碼;實際上,程式使用的是ASCII碼字元的字元訊息。 表6-6所示的代碼是由Microsoft Natural Keyboard及其相容鍵盤產(chǎn)生的: 表6-6 十進位 十六進位 WINUSER.H識別字 必需? IBM相容
8、鍵盤 91 5B VK_LWIN 左Windows鍵 92 5C VK_RWIN 右Windows鍵 93 5D VK_APPS Applications鍵 Windows用VK_LWIN和VK_RWIN鍵打開開始功能表或者(在以前的版本中)啟動工作管理員程式。這兩個都可以用於登錄或登出Windows(只在Microsoft Windows NT中有效),或者登錄或登出網(wǎng)路(在Windows for Applications中)。應(yīng)用程式能夠通過顯示輔助資訊或者當成捷徑鍵看待來處理application鍵。 表6-7所示的代碼用於數(shù)字鍵盤上的鍵(如果有的話): 表6-7 十進位 十六進位 WI
9、NUSER.H識別字 必需? IBM相容鍵盤 96-105 60-69 VK_NUMPAD0到VK_ NUMPAD9 NumLock打開時數(shù)字鍵盤上的0到9 106 6A VK_MULTIPLY 數(shù)字鍵盤上的 107 6B VK_ADD 數(shù)字鍵盤上的+ 108 6C VK_SEPARATOR 109 6D VK_SUBTRACT 數(shù)字鍵盤上的- 110 6E VK_DECIMAL 數(shù)字鍵盤上的. 111 6F VK_DIVIDE 數(shù)字鍵盤上的 最後,雖然多數(shù)的鍵盤都有12個功能鍵,但Windows只需要10個,而位元旗標卻有24個。另外,程式通常用功能鍵作為鍵盤加速鍵,這樣,它們通常不處理表6
10、-8所示的按鍵: 表6-8 十進位 十六進位 WINUSER.H識別字 必需? IBM相容鍵盤 112-121 70-79 VK_F1到VK_F10 功能鍵F1到F10 122-135 7A-87 VK_F11到VK_F24 功能鍵F11到F24 144 90 VK_NUMLOCK Num Lock 145 91 VK_SCROLL Scroll Lock 另外,還定義了一些其他虛擬鍵碼,但它們只用於非標準鍵盤上的鍵,或者通常在大型主機終端機上使用的鍵。查看 Platform SDK User Interface Services User Input Virtual-Key Codes,可得
11、到完整的列表。 虛擬鍵表 虛擬鍵與ASCII碼對應(yīng)的有 '1'-'9','A'-'Z' vkkeyscan(函數(shù)可查看相應(yīng)字符的實數(shù)值.參數(shù)為字符; API常量型 實數(shù)值 解釋 VK_LBUTTON 1 滑鼠左鍵 VK_RBUTTON 2 滑鼠右鍵 VK_CANCEL 3 Ctrl+Break VK_MBUTTON 4 滑鼠中鍵 VK_BACK 8 退格 VK_TAB 9 TAB VK_CLEAR 12 NUM LOCK關(guān)閉時的數(shù)字鍵盤5 VK_RETURN 13 回車 VK_SHIFT 16 Shift VK_CONTROL 1
12、7 Ctrl VK_MENU 18 Alt VK_PAUSE 19 Pause Break VK_CAPITAL 20 Caps Lock VK_ESCAPE 27 ESC VK_SPACE 32 空格鍵 VK_PRIOR 33 Page up VK_NEXT 34 Page down VK_END 35 End VK_HOME 36 Home VK_LEFT 37 左箭頭 VK_RIGHT 38 上箭頭 VK_UP 39 右箭頭 VK_DOWN 40 下箭頭 VK_SELECT 41 VK_PRINT 42 VK_EXECUTE 43 VK_SNAPSHOT 44 Print Screen
13、VK_INSERT 45 Insert VK_DELETE 46 Delete VK_HELP 47 VK_0.9 48.57 主鍵盤0.9 VK_A.Z 65.90 主鍵盤A.Z VK_LWIN 91 左Win VK_RWIN 92 右Win VK_APPS 93 快捷菜單 Reserved 94 保留 VK_SLEEP 95 Sleep 數(shù)字鍵盤 VK_NUMPAD0.9 96.105 小鍵盤上的0到9 VK_MULTIPLY 106 小鍵盤上的 VK_ADD 107 小鍵盤上的+ VK_SEPARATOR 108 分隔符 VK_SUBTRACT 109 小鍵盤上的- VK_DECIMAL
14、 110 小鍵盤上的. VK_DIVIDE 111 小鍵盤上的 VK_NUMLOCK 144 Num Lock VK_F1.VK_F24 112.135 F1.24 Unassigned 136.145 未定義 VK_SCROLL 145 Scroll Lock Specific 146.150 特殊用途 Unassigned 151.159 未定義 VK_LSHIFT 160 左Shift鍵 VK_RSHIFT 161 右Shift鍵 VK_LCONTROL 162 左Ctrl鍵 VK_RCONTROL 163 右Ctrl鍵 VK_LMENU 164 左Alt鍵 VK_RMENU 165 右
15、Alt鍵 瀏覽器 VK_BROWSER_BACK A6(166 Browser Back key VK_BROWSER_FORWARD A7(167 Browser Forward key VK_BROWSER_REFRESH A8(168 Browser Refresh key VK_BROWSER_STOP A9(169 Browser Stop key VK_BROWSER_SEARCH AA(170 Browser Search key VK_BROWSER_FAVORITES AB(171 Browser Favorites key VK_BROWSER_HOME AC(172 Br
16、owser Start and Home key 音量 VK_VOLUME_MUTE AD Volume Mute key VK_VOLUME_DOWN AE Volume Down key VK_VOLUME_UP AF Volume Up key 媒體 VK_MEDIA_NEXT_TRACK B0 Next Track key VK_MEDIA_PREV_TRACK B1 Previous Track key VK_MEDIA_STOP B2 Stop Media key VK_MEDIA_PLAY_PAUSE B3 PlayPause Media key 語言 VK_LAUNCH_MA
17、IL B4 Start Mail key VK_LAUNCH_MEDIA_SELECT B5 Select Media key VK_LAUNCH_APP1 B6 Start Application 1 key VK_LAUNCH_APP2 B7 Start Application 2 key 標點 VK_OEM_1 186 分號 VK_OEM_PLUS 187 等號 VK_OEM_COMMA 188 逗號 VK_OEM_MINUS 189 減號 VK_OEM_PERIOD 190 句號 VK_OEM_2 191 VK_OEM_3 192 Reserved 193.215 保留碼 Unassi
18、ned 216.218 未指定 VK_OEM_4 219 VK_OEM_5 220 VK_OEM_6 221 VK_OEM_7 222 引號 VK_OEM_8 223 VK_ATTN HF6(246 VK_CRSEL HF7(247 VK_EXSEL HF8(248 VK_EREOF HF9(249 VK_PLAY HFA(250 VK_ZOOM HFB(251 VK_NONAME HFC(252 VK_PA1 HFD(253 VK_OEM_CLEAR HFE(254 完整的虛擬鍵碼表 VK_LBUTTON (01 Left mouse button VK_RBUTTON (02 Right
19、mouse button VK_CANCEL (03 Control-break processing VK_MBUTTON (04 Middle mouse button (three-button mouse VK_XBUTTON1 (05 Windows 2000XP X1 mouse button VK_XBUTTON2 (06 Windows 2000XP X2 mouse button - (07 Undefined VK_BACK (08 BACKSPACE key VK_TAB (09 TAB key - (0A-0B Reserved VK_CLEAR (0C CLEAR k
20、ey VK_RETURN (0D ENTER key - (0E-0F Undefined VK_SHIFT (10 SHIFT key VK_CONTROL (11 CTRL key VK_MENU (12 ALT key VK_PAUSE (13 PAUSE key VK_CAPITAL (14 CAPS LOCK key VK_KANA (15 Input Method Editor (IME Kana mode VK_HANGUEL (15 IME Hanguel mode (maintained for compatibility; use VK_HANGUL VK_HANGUL (
21、15 IME Hangul mode - (16 Undefined VK_JUNJA (17 IME Junja mode VK_FINAL (18 IME final mode VK_HANJA (19 IME Hanja mode VK_KANJI (19 IME Kanji mode - (1A Undefined VK_ESCAPE (1B ESC key VK_CONVERT (1C IME convert VK_NONCONVERT (1D IME nonconvert VK_ACCEPT (1E IME accept VK_MODECHANGE (1F IME mode cha
22、nge request VK_SPACE (20 SPACEBAR VK_PRIOR (21 PAGE UP key VK_NEXT (22 PAGE DOWN key VK_END (23 END key VK_HOME (24 HOME key VK_LEFT (25 LEFT ARROW key VK_UP (26 UP ARROW key VK_RIGHT (27 RIGHT ARROW key VK_DOWN (28 DOWN ARROW key VK_SELECT (29 SELECT key VK_PRINT (2A PRINT key VK_EXECUTE (2B EXECUT
23、E key VK_SNAPSHOT (2C PRINT SCREEN key VK_INSERT (2D INS key VK_DELETE (2E DEL key VK_HELP (2F HELP key (30 0 key (31 1 key (32 2 key (33 3 key (34 4 key (35 5 key (36 6 key (37 7 key (38 8 key (39 9 key - (3A-40 Undefined (41 A key (42 B key (43 C key (44 D key (45 E key (46 F key (47 G key (48 H k
24、ey (49 I key (4A J key (4B K key (4C L key (4D M key (4E N key (4F O key (50 P key (51 Q key (52 R key (53 S key (54 T key (55 U key (56 V key (57 W key (58 X key (59 Y key (5A Z key VK_LWIN (5B Left Windows key (Microsoft Natural keyboard VK_RWIN (5C Right Windows key (Natural keyboard VK_APPS (5D
25、Applications key (Natural keyboard - (5E Reserved VK_SLEEP (5F Computer Sleep key VK_NUMPAD0 (60 Numeric keypad 0 key VK_NUMPAD1 (61 Numeric keypad 1 key VK_NUMPAD2 (62 Numeric keypad 2 key VK_NUMPAD3 (63 Numeric keypad 3 key VK_NUMPAD4 (64 Numeric keypad 4 key VK_NUMPAD5 (65 Numeric keypad 5 key VK
26、_NUMPAD6 (66 Numeric keypad 6 key VK_NUMPAD7 (67 Numeric keypad 7 key VK_NUMPAD8 (68 Numeric keypad 8 key VK_NUMPAD9 (69 Numeric keypad 9 key VK_MULTIPLY (6A Multiply key VK_ADD (6B Add key VK_SEPARATOR (6C Separator key VK_SUBTRACT (6D Subtract key VK_DECIMAL (6E Decimal key VK_DIVIDE (6F Divide ke
27、y VK_F1 (70 F1 key VK_F2 (71 F2 key VK_F3 (72 F3 key VK_F4 (73 F4 key VK_F5 (74 F5 key VK_F6 (75 F6 key VK_F7 (76 F7 key VK_F8 (77 F8 key VK_F9 (78 F9 key VK_F10 (79 F10 key VK_F11 (7A F11 key VK_F12 (7B F12 key VK_F13 (7C F13 key VK_F14 (7D F14 key VK_F15 (7E F15 key VK_F16 (7F F16 key VK_F17 (80H
28、F17 key VK_F18 (81H F18 key VK_F19 (82H F19 key VK_F20 (83H F20 key VK_F21 (84H F21 key VK_F22 (85H F22 key VK_F23 (86H F23 key VK_F24 (87H F24 key - (88-8F Unassigned VK_NUMLOCK (90 NUM LOCK key VK_SCROLL (91 SCROLL LOCK key (92-96 OEM specific - (97-9F Unassigned VK_LSHIFT (A0 Left SHIFT key VK_RS
29、HIFT (A1 Right SHIFT key VK_LCONTROL (A2 Left CONT ROL key VK_RCONTROL (A3 Right CONTROL key VK_LMENU (A4 Left MENU key VK_RMENU (A5 Right MENU key VK_BROWSER_BACK (A6 Windows 2000XP Browser Back key VK_BROWSER_FORWARD (A7 Windows 2000XP Browser Forward key VK_BROWSER_REFRESH (A8 Windows 2000XP Brow
30、ser Refresh key VK_BROWSER_STOP (A9 Windows 2000XP Browser Stop key VK_BROWSER_SEARCH (AA Windows 2000XP Browser Search key VK_BROWSER_FAVORITES (AB Windows 2000XP Browser Favorites key VK_BROWSER_HOME (AC Windows 2000XP Browser Start and Home key VK_VOLUME_MUTE (AD Windows 2000XP Volume Mute key VK
31、_VOLUME_DOWN (AE Windows 2000XP Volume Down key VK_VOLUME_UP (AF Windows 2000XP Volume Up key VK_MEDIA_NEXT_TRACK (B0 Windows 2000XP Next Track key VK_MEDIA_PREV_TRACK (B1 Windows 2000XP Previous Track key VK_MEDIA_STOP (B2 Windows 2000XP Stop Media key VK_MEDIA_PLAY_PAUSE (B3 Windows 2000XP PlayPau
32、se Media key VK_LAUNCH_MAIL (B4 Windows 2000XP Start Mail key VK_LAUNCH_MEDIA_SELECT (B5 Windows 2000XP Select Media key VK_LAUNCH_APP1 (B6 Windows 2000XP Start Application 1 key VK_LAUNCH_APP2 (B7 Windows 2000XP Start Application 2 key - (B8-B9 Reserved VK_OEM_1 (BA Used for miscellaneous character
33、s; it can vary by keyboard. Windows 2000XP For the US standard keyboard, the '' key VK_OEM_PLUS (BB Windows 2000XP For any countryregion, the '+' key VK_OEM_COMMA (BC Windows 2000XP For any countryregion, the ',' key VK_OEM_MINUS (BD Windows 2000XP For any countryregion, the
34、'-' key VK_OEM_PERIOD (BE Windows 2000XP For any countryregion, the '.' key VK_OEM_2 (BF Used for miscellaneous characters; it can vary by keyboard. Windows 2000XP For the US standard keyboard, the '' key VK_OEM_3 (C0 Used for miscellaneous characters; it can vary by keyboard
35、. Windows 2000XP For the US standard keyboard, the '' key - (C1-D7 Reserved - (D8-DA Unassigned VK_OEM_4 (DB Used for miscellaneous characters; it can vary by keyboard. Windows 2000XP For the US standard keyboard, the '' key VK_OEM_5 (DC Used for miscellaneous characters; it can vary by keyboard. Windows 2000XP For the US standard k
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人住房維修基金擔(dān)保責(zé)任協(xié)議4篇
- 2025年金融機構(gòu)間協(xié)議存款風(fēng)險管理合同3篇
- 二零二五版汽車分期付款及二手車交易及售后服務(wù)合同3篇
- 2025版學(xué)校活動中心租賃合同范本2篇
- 2025版出租車司機職業(yè)操守擔(dān)保合同2篇
- 2025版?zhèn)€人車輛抵押債權(quán)債務(wù)處理執(zhí)行條款4篇
- 2025年長沙考貨運從業(yè)資格證駕校
- 2025年綠色建筑項目施工連帶責(zé)任保證合同4篇
- 2025餐飲拆伙協(xié)議書退伙后品牌使用權(quán)及保密協(xié)議3篇
- 卸車事故緊急處理與賠償協(xié)議2025年度3篇
- 中華人民共和國保守國家秘密法實施條例培訓(xùn)課件
- 管道坡口技術(shù)培訓(xùn)
- 2024年全國統(tǒng)一高考英語試卷(新課標Ⅰ卷)含答案
- 2024年認證行業(yè)法律法規(guī)及認證基礎(chǔ)知識 CCAA年度確認 試題與答案
- 皮膚儲存新技術(shù)及臨床應(yīng)用
- 外研版七年級英語上冊《閱讀理解》專項練習(xí)題(含答案)
- 2024年遼寧石化職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫必考題
- 上海市復(fù)旦大學(xué)附中2024屆高考沖刺模擬數(shù)學(xué)試題含解析
- 幼兒園公開課:大班健康《國王生病了》課件
- 小學(xué)六年級說明文閱讀題與答案大全
- 人教pep小學(xué)六年級上冊英語閱讀理解練習(xí)題大全含答案
評論
0/150
提交評論