VC HOOK 键盘钩子 注意事项
2012-02-23 03:50
253 查看
转自:http://hi.baidu.com/%C4%BE%D2%D7%D8%A3/blog/item/79967eeba990fbded539c9f5.html
键盘钩子 里面只有一个
wParam 判断的时候只能 判断这个键 的键值 无法判断 是 keydown还是 keyup
这些信息保存在lParam中
例如判断一个按键按下时 应该写成
if(wParam==VK_XX&&(lparam&(0X40000000)))
不然的话 只写if(wParam==VK_XX)代表两个消息 keydown keyup
KeyboardProc
参数:
code:
根据这个数值决定怎样处理消息
如果 code 小于0,则 必须让KeyboardProc()函数返回CallNextHookEx()
code可以是下列值:
HC_ACTION:wParam和lParam包含按键消息
HC_NOREMOVE:wParam和lParam包含按键消息,并且按键消息不能从消息队列中移除(一个被PeekMessage函数调用的请求,指定
PM_NOREMOVE标志)
wParam:
按键的虚拟键值消息,例如:VK_F1
lParam:
32位内存,内容描述包括:指定扩展键值,扫描码,上下文,重复次数。
0-15位:
描述:按下键盘次数。
16-23位
指定扫描码. 依赖于OEM
24位
当24位为1时候:表示按键是扩展键
当24位为0时候:表示按键是是数字键盘按键
25-28位
保留位
29位
上下文键:为1时: ALT按下,其他情况为0
30位
如果是按键按下后发送的消息,30位为1,如果是按键抬起后30位为0;
31位
指定转变状态:31位为0时候,按键正在被按下,为1时候,按键正在被释放
返回值:
如果参数1:code小于0,则必须 返回CallNextHookEx(),也就是返回CallNextHookEx()的返回值
如果参数1:code大于等于0,并且钩子处理函数没有处理消息,强烈建议您 返回CallNextHookEx()的返回值,否则当您安装WH_KEYBOARD钩子时
,钩子将不会得到通知,并返回错误结果。
如果钩子处理的消息,您可以返回一个非0值,防止系统把消息传递给钩子链中的下一个钩子,或者把消息发送到目标窗口。
键盘钩子 里面只有一个
wParam 判断的时候只能 判断这个键 的键值 无法判断 是 keydown还是 keyup
这些信息保存在lParam中
例如判断一个按键按下时 应该写成
if(wParam==VK_XX&&(lparam&(0X40000000)))
不然的话 只写if(wParam==VK_XX)代表两个消息 keydown keyup
KeyboardProc
参数:
code:
根据这个数值决定怎样处理消息
如果 code 小于0,则 必须让KeyboardProc()函数返回CallNextHookEx()
code可以是下列值:
HC_ACTION:wParam和lParam包含按键消息
HC_NOREMOVE:wParam和lParam包含按键消息,并且按键消息不能从消息队列中移除(一个被PeekMessage函数调用的请求,指定
PM_NOREMOVE标志)
wParam:
按键的虚拟键值消息,例如:VK_F1
lParam:
32位内存,内容描述包括:指定扩展键值,扫描码,上下文,重复次数。
0-15位:
描述:按下键盘次数。
16-23位
指定扫描码. 依赖于OEM
24位
当24位为1时候:表示按键是扩展键
当24位为0时候:表示按键是是数字键盘按键
25-28位
保留位
29位
上下文键:为1时: ALT按下,其他情况为0
30位
如果是按键按下后发送的消息,30位为1,如果是按键抬起后30位为0;
31位
指定转变状态:31位为0时候,按键正在被按下,为1时候,按键正在被释放
返回值:
如果参数1:code小于0,则必须 返回CallNextHookEx(),也就是返回CallNextHookEx()的返回值
如果参数1:code大于等于0,并且钩子处理函数没有处理消息,强烈建议您 返回CallNextHookEx()的返回值,否则当您安装WH_KEYBOARD钩子时
,钩子将不会得到通知,并返回错误结果。
如果钩子处理的消息,您可以返回一个非0值,防止系统把消息传递给钩子链中的下一个钩子,或者把消息发送到目标窗口。
相关文章推荐
- WINCE中使用键盘钩子的注意事项
- 用日志钩子处理键盘消息时的一个注意事项
- 设置全局键盘钩子 和 注意事项
- WINCE键盘驱动程序开发的注意事项
- VC中使用OnSize函数,设置控件位置的注意事项
- DirextX7。0 SDK 在VC 6.0 环境中使用的注意事项
- 钩子技术、HOOK技术在VC编程中的应用
- XP中Inline HOOK 8042驱动实现键盘钩子的方法
- VC局部钩子[HOOK]的实现
- VC2010从空项目开始搭建MFC程序时的注意事项
- Android:Dialog中隐藏键盘的注意事项
- VC实现的全局键盘钩子
- VC2003安装注意事项
- VC 调用C#写的COM组件注意事项
- 关于Android模拟键盘使用的注意事项
- 如何屏蔽windows mobile手机按键 pda手机键盘钩子/HOOK
- Java中从键盘录入的三种方式及注意事项
- vc++键盘钩子和鼠标钩子
- vc中使用ace的注意事项
- 使用SVN钩子运行PHP更新服务器代码的注意事项