来自静态库

时间:2016-05-13 14:30:54

标签: c++ windows setwindowshookex

我正在尝试安装一个钩子来拦截从库到可执行文件的鼠标和键盘。如果我将库构建为动态加载库,一切正常,但是当我将库构建为静态库时,它不起作用。

要安装钩子我喜欢这样:

使用此函数获取库模块句柄

HMODULE GetCurrentModule()
{
    return reinterpret_cast<HMODULE>(&__ImageBase);
}

安装钩子

HMODULE module = GetCurrentModule();
_windowsProcHook = SetWindowsHookEx(WH_CALLWNDPROC, WindowsProcCallback, module, NULL);

我已经调试了代码,我已经看到当构建为DLL时,我从GetCurrentModule获取的模块是正确的(来自DLL),但是当我构建为静态库时{ {1}}返回我的可执行文件的模块。

0 个答案:

没有答案