-
-
[求助]一个对指定线程键盘钩子的问题
-
发表于:
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虚拟机自动化脱壳的方法