hMouseHook = SetWindowsHookEx(WH_KEYBOARD, keyboardproc, GetModuleHandle(System.Diagnostics.Process.GetCurrentProcess().MainModule.ModuleName), Tid);
如果Tid为得到的线程ID的话,就返回0 也就是说钩子挂载失败
但如果为0的话,就会成功, 但成全局的了
为啥呀
SetWindowsHookEx的最后一个参数本来是窗体的线程ID,现将它设为0,变成全局钩子,就能hook成功,我测试过,能hook到该窗体的我想要的消息。当然,全局钩子太影响性能,实际不可行。但就hook本身而言,是可以成功的。百思不得其解
使用GetLastError查看错误码,可以确定错误