免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
二、Windows 按鍵消息

  虛擬鍵碼保存在 WM_KEYDOWN、WM_KEYUP、WM_SYSKEYDOWN 和 WM_SYSKEYUP 消息的 wParam 參數(shù)中。此代碼標(biāo)識(shí)按下或釋放的鍵。

哈,又是「虛擬」,您喜歡這個(gè)詞嗎?虛擬指的是假定存在于思想中而不是現(xiàn)實(shí)世界中的一些事物,也只有熟練使用 DOS 匯編語(yǔ)言編寫(xiě)應(yīng)用程序的程序?qū)懽髡卟庞锌赡苤赋?,為什么?duì) Windows 鍵盤(pán)處理如此基本的鍵碼是虛擬的而不是真實(shí)的。

對(duì)于早期的程序?qū)懽髡邅?lái)說(shuō),真實(shí)的鍵碼由實(shí)際鍵盤(pán)硬件產(chǎn)生。在 Windows 文件中將這些鍵碼稱(chēng)為「掃描碼 (scan codes)」。在 IBM 兼容機(jī)種上,掃描碼 16 是 Q 鍵,17 是 W 鍵,18 是 E、19 是 R,20 是 T,21 是 Y 等等。這時(shí)您會(huì)發(fā)現(xiàn),掃描碼是依據(jù)鍵盤(pán)的實(shí)際布局的。Windows 開(kāi)發(fā)者認(rèn)為這些代碼過(guò)于與設(shè)備相關(guān)了,于是他們?cè)噲D通過(guò)定義所謂的虛擬鍵碼,以便經(jīng)由與設(shè)備無(wú)關(guān)的方式處理鍵盤(pán)。其中一些虛擬鍵碼不能在 IBM 兼容機(jī)種上產(chǎn)生,但可能會(huì)在其它制造商生產(chǎn)的鍵盤(pán)中找到,或者在未來(lái)的鍵盤(pán)上找到。

您使用的大多數(shù)虛擬鍵碼的名稱(chēng)在 WINUSER.H 表頭文件中都定義為以 VK_開(kāi)頭。表 6-2 列出了這些名稱(chēng)和數(shù)值(十進(jìn)制和十六進(jìn)制),以及與虛擬鍵相對(duì)應(yīng)的 IBM 兼容機(jī)種鍵盤(pán)上的鍵。下表也標(biāo)出了 Windows 執(zhí)行時(shí)是否需要這些鍵。下表還按數(shù)字順序列出了虛擬鍵碼。

前四個(gè)虛擬鍵碼中有三個(gè)指的是鼠標(biāo)鍵:

表 6-2

十進(jìn)制

十六進(jìn)制

WINUSER.H 標(biāo)識(shí)符

必需?

IBM 兼容鍵盤(pán)

1

01

VK_LBUTTON

 

鼠標(biāo)左鍵

2

02

VK_RBUTTON

 

鼠標(biāo)右鍵

3

03

VK_CANCEL

ˇ

Ctrl-Break

4

04

VK_MBUTTON

 

鼠標(biāo)中鍵

您永遠(yuǎn)都不會(huì)從鍵盤(pán)消息中獲得這些鼠標(biāo)鍵代碼。在下一章可以看到,我們能夠從鼠標(biāo)消息中獲得它們。VK_CANCEL 代碼是一個(gè)虛擬鍵碼,它包括同時(shí)按下兩個(gè)鍵 (Ctrl-Break)。Windows 應(yīng)用程序通常不使用此鍵。

表 6-3 中的鍵 --Backspace、Tab、Enter、Escape 和 Spacebar-通常用于 Windows 程序。不過(guò),Windows 一般用字符消息(而不是鍵盤(pán)消息)來(lái)處理這些鍵。

表 6-3

十進(jìn)制

十六進(jìn)制

WINUSER.H 標(biāo)識(shí)符

必需?

IBM 兼容鍵盤(pán)

8

08

VK_BACK

ˇ

Backspace

9

09

VK_TAB

ˇ

Tab

12

0C

VK_CLEAR

 

Num Lock 關(guān)閉時(shí)的數(shù)字鍵盤(pán) 5

13

0D

VK_RETURN

ˇ

Enter (或者另一個(gè))

16

10

VK_SHIFT

ˇ

Shift (或者另一個(gè))

17

11

VK_CONTROL

ˇ

Ctrl (或者另一個(gè))

18

12

VK_MENU

ˇ

Alt (或者另一個(gè))

19

13

VK_PAUSE

 

Pause

20

14

VK_CAPITAL

ˇ

Caps Lock

27

1B

VK_ESCAPE

ˇ

Esc

32

20

VK_SPACE

ˇ

Spacebar

另外,Windows 程序通常不需要監(jiān)視 Shift、Ctrl 或 Alt 鍵的狀態(tài)。

表 6-4 列出的前八個(gè)碼可能是與 VK_INSERT 和 VK_DELETE 一起最常用的虛擬鍵碼:

表 6-4

十進(jìn)制

十六進(jìn)制

WINUSER.H 標(biāo)識(shí)符

必需?

IBM 兼容鍵盤(pán)

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_DOWN

ˇ

下箭頭

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

   

注意,許多名稱(chēng)(例如 VK_PRIOR 和 VK_NEXT)都與鍵上的標(biāo)志不同,而且也與滾動(dòng)條中的標(biāo)識(shí)符不統(tǒng)一。Print Screen 鍵在平時(shí)都被 Windows 應(yīng)用程序所忽略。Windows 本身響應(yīng)此鍵時(shí)會(huì)將視訊顯示的位圖影本存放到剪貼板中。假使有鍵盤(pán)提供了 VK_SELECT、VK_PRINT、VK_EXECUTE 和 VK_HELP,大概也沒(méi)幾個(gè)人看過(guò)那樣的鍵盤(pán)。

Windows 也包括在主鍵盤(pán)上的字母和數(shù)字鍵的虛擬鍵碼(數(shù)字鍵盤(pán)將單獨(dú)處理)。

表 6-5

十進(jìn)制

十六進(jìn)制

WINUSER.H 標(biāo)識(shí)符

必需?

IBM 兼容鍵盤(pán)

48-57

30-39

無(wú)

ˇ

主鍵盤(pán)上的 0 到 9

65-90

41-5A

無(wú)

ˇ

A 到 Z

注意,數(shù)字和字母的虛擬鍵碼是 ASCII 碼。Windows 程序幾乎從不使用這些虛擬鍵碼;實(shí)際上,程序使用的是 ASCII 碼字符的字符消息。

表 6-6 所示的代碼是由 Microsoft Natural Keyboard 及其兼容鍵盤(pán)產(chǎn)生的:

表 6-6

十進(jìn)制

十六進(jìn)制

WINUSER.H 標(biāo)識(shí)符

必需?

IBM 兼容鍵盤(pán)

91

5B

VK_LWIN

 

左 Windows 鍵

92

5C

VK_RWIN

 

右 Windows 鍵

93

5D

VK_APPS

 

Applications 鍵

Windows 用 VK_LWIN 和 VK_RWIN 鍵打開(kāi)「開(kāi)始」菜單或者(在以前的版本中)啟動(dòng)「工作管理員程序」。這兩個(gè)都可以用于登錄或注銷(xiāo) Windows(只在 Microsoft Windows NT 中有效),或者登錄或注銷(xiāo)網(wǎng)絡(luò)(在 Windows for Applications 中)。應(yīng)用程序能夠通過(guò)顯示輔助信息或者當(dāng)成快捷方式鍵看待來(lái)處理 application 鍵。

表 6-7 所示的代碼用于數(shù)字鍵盤(pán)上的鍵(如果有的話):

表 6-7

十進(jìn)制

十六進(jìn)制

WINUSER.H 標(biāo)識(shí)符

必需?

IBM 兼容鍵盤(pán)

96-105

60-69

VK_NUMPAD0 到 VK_ NUMPAD9

 

NumLock 打開(kāi)時(shí)數(shù)字鍵盤(pán)上的 0 到 9

106

6A

VK_MULTIPLY

 

數(shù)字鍵盤(pán)上的 *

107

6B

VK_ADD

 

數(shù)字鍵盤(pán)上的 +

108

6C

VK_SEPARATOR

   

109

6D

VK_SUBTRACT

 

數(shù)字鍵盤(pán)上的 -

110

6E

VK_DECIMAL

 

數(shù)字鍵盤(pán)上的.

111

6F

VK_DIVIDE

 

數(shù)字鍵盤(pán)上的 /

最后,雖然多數(shù)的鍵盤(pán)都有 12 個(gè)功能鍵,但 Windows 只需要 10 個(gè),而位旗標(biāo)卻有 24 個(gè)。另外,程序通常用功能鍵作為鍵盤(pán)快捷鍵,這樣,它們通常不處理表 6-8 所示的按鍵:

表 6-8

十進(jìn)制

十六進(jìn)制

WINUSER.H 標(biāo)識(shí)符

必需?

IBM 兼容鍵盤(pán)

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

另外,還定義了一些其它虛擬鍵碼,但它們只用于非標(biāo)準(zhǔn)鍵盤(pán)上的鍵,或者通常在大型主機(jī)終端機(jī)上使用的鍵。查看 / Platform SDK / User Interface Services / User Input / Virtual-Key Codes,可得到完整的列表。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Windows消息處理
C#使用DirectoryEntry操作IIS創(chuàng)建網(wǎng)站和虛擬路徑
常用的進(jìn)制轉(zhuǎn)換、BCD碼
鍵盤(pán)掃描碼(獲取鍵盤(pán)的硬件掃描碼)
WINDOWS程序設(shè)計(jì)之窗口過(guò)程
不用卸載舊版 直接安裝Windows XP SP3
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服