首页
社区
课程
招聘
[求助]一个对指定线程键盘钩子的问题
发表于: 2009-7-22 20:33 5820

[求助]一个对指定线程键盘钩子的问题

2009-7-22 20:33
5820
今天学习钩子,想写一个键盘钩子,勾住计算器的键盘输入。

函数如下:
Function SetKeyHook(ByVal idThread As Long)  As Long
       hHook= SetWindowsHookEx(%WH_KEYBOARD_ll,CodePtr(keyHookProc),ghInstance, idThread)
       MsgBox Str$(getlasterror())
       Function = hHook
End Function

调用如下:
SetKeyHook(GetWindowThreadProcessId(FindWindow( BYVAL 0,"计算器"), %NULL))

这样调用的话,GetWindowThreadProcessId(FindWindow( BYVAL 0,"计算器"), %NULL)正确返回了计算器的线程好,但getlasterror总是返回1429,查了下,是“此挂接程序只可整体设置”的意思,挂接失败。
用SetKeyHook(0)设全局钩子,没问题,可以勾到计算器的输入,但为什么指定线程却不行呢?

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 962
活跃值: (1686)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
WH_KEYBOARD_ll不能设置线程钩子````
WH_KEYBOARD 右以设置线程钩子
2009-7-22 20:55
0
雪    币: 280
活跃值: (58)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
改成WH_KEYBOARD ,倒是挂上了,但是在计算器上一按键盘,计算器就非法了。。。。。。。
2009-7-22 21:29
0
雪    币: 280
活跃值: (58)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
搞定,结贴,谢谢2楼的兄弟
2009-7-23 08:57
0
游客
登录 | 注册 方可回帖
返回
//