SetWindowsHookEx 第三个参数为HINSTANCE,通过FindWindow找到指定窗口句柄后如何
得到该进程的HINSTANCE呢?
这个参数应该是你调用SetWindowsHookEx的DLL的模块实例句柄,它可以经由DllMain入口的第一个参数得到。
HHOOK SetWindowsHookEx( int idHook,
HOOKPROC lpfn,
HINSTANCE hMod,
DWORD dwThreadId
);
至于SetWindowsHookEx的第四个参数dwThreadId,才是你需要借由窗口句柄得到的窗口线程ID,你可以通过下面的代码获得:
DWORD dwThreadID = GetWindowThreadProcessId(hwnd, NULL);
选择相应的消息钩子,比如WH_CALLWNDPROC(用来监视窗口过程)、WH_GETMESSAGE(用来监视消息队列的消息)、WH_KEYBOARD(键盘消息)、WH_MOUSE(鼠标消息)等等。
本文详细介绍了如何使用SetWindowsHookEx函数设置Windows钩子。解释了HINSTANCE参数的意义及其获取方式,并提供了获取窗口线程ID的方法。此外还列举了几种常用的钩子类型。

1514

被折叠的 条评论
为什么被折叠?



