0

很久以前,当我看到一个应用程序为游戏做这个时,我就有了这个想法。

我想捕捉某些击键。/s myCommand 之类的东西。我有 ppl msg 我并通过 msn 搞砸了我,所以我的第一个命令将类似于 killmsn。我在 msdn 上查找了资源并得到了这么多。这不起作用,为什么不起作用?是睡眠的 BC 吗?我应该怎么做,注意我没有窗口,我希望这是一个控制台应用程序。我的 KeyboardProc 永远不会被调用

#include <windows.h>
#include <stdio.h>

HHOOK hook;
LRESULT CALLBACK KeyboardProc(int code, WPARAM wParam, LPARAM lParam)
{
    printf("%c", wParam);
    return CallNextHookEx(hook, code, wParam, lParam);
}

int main()
{
    hook = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, GetModuleHandle(0), 0);
    Sleep(10000);
    UnhookWindowsHookEx(hook);
    return 0;
}
4

1 回答 1

0

解决方案

//Sleep(10000);
MSG msg;
while(GetMessage(&msg, NULL, 0, 0) > 0)
{
    TranslateMessage(&msg);
    DispatchMessage(&msg);
}
UnhookWindowsHookEx(hook);
于 2009-01-18T00:57:41.147 回答