C#攔截Window訊息

來源:互聯網
上載者:User
 重載方法 protected override void WndProc(ref Message m)
得到int msgID = m.WParam.ToInt32();
這裡msgID,就是虛擬鍵碼,這裡指的是十六進位.
一些常用的虛擬鍵碼為:

WM_PAINT = 0x000F
其中0x000F是C#中表示int的一種寫法,可以定義為const
要求一個視窗重畫自己

WM_NCPAINT = 0x0085
當某個視窗的架構必須被繪製時,程式發送此訊息給視窗

WM_ACTIVATE = 0x0006
一個視窗被啟用或失去啟用狀態

WM_KILLFOCUS = 0x0008
失去焦點

WM_NCCALCSIZE = 0x0083
當某個視窗的用戶端區域必須被核算時發送此訊息

WM_NCACTIVATE = 0x0086
此訊息發送給某個視窗 僅當它的非客戶區需要被改變來顯示是啟用還是非啟用狀態

WM_SETTEXT = 0x000C
應用程式發送此訊息來設定一個視窗的文本

WM_LBUTTONDOWN = 0x0201
按下滑鼠左鍵

WM_LBUTTONUP = 0x0202
釋放滑鼠左鍵

WM_LBUTTONDBLCLK = 0x0203
雙擊滑鼠左鍵

WM_MOUSEMOVE = 0x0200
移動滑鼠

WM_SYSCOMMAND = 0x0112
當使用者選擇視窗菜單的一條命令或當使用者選擇最大化或最小化時那個視窗會收到此訊息

WM_SIZE = 5
改變一個視窗的大小

WM_SIZING = 0x0214
當使用者正在調整視窗大小時發送此訊息給視窗;通過此訊息應用程式可以監看式視窗大小和位置也可以修改他們

WM_ERASEBKGND = 0x0014
當視窗背景必須被擦除時(例在視窗改變大小時)

WM_SHOWWINDOW = 0x18
當隱藏或顯示視窗是發送此訊息給這個視窗

WM_NCCREATE = 0x0081
當某個視窗第一次被建立時,此訊息在WM_CREATE訊息發送前發送

WM_WINDOWPOSCHANGING = 0x0046
發送此訊息給那個視窗的大小和位置將要被改變時,來調用setwindowpos函數或其它視窗管理函數

WM_WINDOWPOSCHANGED = 0x0047
發送此訊息給那個視窗的大小和位置已經被改變時,來調用setwindowpos函數或其它視窗管理函數

十進位

十六進位

WINUSER.H標識符

必需?

IBM相容鍵盤

1

01

VK_LBUTTON

滑鼠左鍵

2

02

VK_RBUTTON

滑鼠右鍵

3

03

VK_CANCEL

ˇ

Ctrl-Break

4

04

VK_MBUTTON

十進位

十六進位

WINUSER.H標識符

必需?

IBM相容鍵盤

91

5B

VK_LWIN

左Windows鍵

92

5C

VK_RWIN

右Windows鍵

93

5D

VK_APPS

Applications鍵

十進位

十六進位

WINUSER.H標識符

必需?

IBM相容鍵盤

8

08

VK_BACK

ˇ

Backspace

9

09

VK_TAB

ˇ

Tab

12

0C

VK_CLEAR

Num Lock關閉時的數字鍵台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

ˇ

Esc

32

20

VK_SPACE

ˇ

Spacebar

十進位

十六進位

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_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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.