如何将参数传递给SetWindowsHookEx的回调? (如果可能的话)

时间:2014-05-26 14:01:12

标签: winapi c++-cli hook setwindowshookex

我使用带有WH_CALLWNDPROC的SetWindowsHookEx来捕获所有WndProc消息 - 它工作正常。 我想知道是否有办法在回调函数可以读取和使用它的地方存储参数。

我认为因为回调函数位于"其他"进程,调用SetWindowsHookEx的进程没有连接,所以只是在静态变量中存储一个值就不会有任何好处。

例如:

void Hook(DWORD dwThread, int randomNumber)
{
    MagicallyStore(randomNumber);
    SetWindowsHookEx(WH_CALLWNDPROC, hookProc, GetModuleHandle(L"WNDProcHooks"), dwThread);
    ...
    ...
}

LRESULT CALLBACK hookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
    int randomNumber = MagicallyRestore();

    DoSomthing(randomNumber);

    return CallNextHookEx(0, nCode, wParam, lParam);
}

我已经考虑过拥有" MagicallyStore"函数将参数写入文件并在" MagicallyRestore"中读取一次。功能 - 但必须有更好的方法..

提前致谢:)

0 个答案:

没有答案