有gui的第三方进程,其中运行多个线程。需要将键盘挂钩设置为线程gui这个过程。我做如下:手动如何知道界面窗口的id线程?
processID = 8888; //pid
HWND hWnd = GetForegroundWindow();
DWORD threadID = GetWindowThreadProcessId(hWnd, &processID);
hHook = SetWindowsHookEx(WH_KEYBOARD_LL, (HOOKPROC)&KeyboardProc, GetModuleHandle(NULL), threadID);
processId
插入从任务管理器(用于调试,然后他将返回到脚本)。如果我将最后一行的threadID
选项替换为0,该钩子就可以工作,但无处不在 - 即使在浏览器中也是如此。我究竟做错了什么?
什么是你的问题?你问的唯一真正的问题是:*“为什么这个API的行为如[记录](https://msdn.microsoft.com/en-us/library/windows/desktop/ms644990.aspx)?”* – IInspectable