C#拦截Window消息
得到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 |
posted on 2009-07-23 21:25 hackenliu 阅读(1130) 评论(0) 编辑 收藏 举报