VC HOOK 键盘钩子 注意事项
来源:互联网 发布:现在淘宝生意好做吗 编辑:程序博客网 时间:2024/06/06 00:05
转自: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值,防止系统把消息传递给钩子链中的下一个钩子,或者把消息发送到目标窗口。
- VC HOOK 键盘钩子 注意事项
- HOOK全局键盘钩子
- 鼠标键盘钩子(HOOK)
- c# 钩子(hook)键盘
- 键盘钩子 HOOK
- Hook、钩子、VC++ 基本概念
- Winodws HOOK 之键盘钩子
- HOOK使用:全局键盘钩子
- HOOK使用:全局键盘钩子
- VC全局键盘钩子
- VC++引用键盘钩子
- vc 局部钩子HOOK(线程钩子)
- Hook :VC++消息钩子编程
- VC++中键盘钩子和鼠标钩子
- vc++键盘钩子和鼠标钩子
- 全局钩子(hook鼠标键盘消息)
- CE 6 下键盘钩子(HOOK)
- HOOK技术--键盘鼠标钩子实例
- JavaScript prototype 的深度探索
- JMF的安装与环境的配置
- C++ Note
- ARM的22个常用概念--的确经典
- VC 调用cmd命令总结
- VC HOOK 键盘钩子 注意事项
- 简历(转)
- 表变量与临时表的优缺点
- 第1题 在排序数组中查找和为某个指定数的两个元素之和
- 怎样查出SQLServer的性能瓶颈
- 十五周实验
- 十六周实验
- 十六周实验
- 十六周实验