0

アプリがゲームでこれを行うのを見たとき、私はずっと前にこのアイデアを思いつきました。

特定のキーストロークをキャッチしたい。/s myCommand のようなもの。私は ppl msg me を持っていて、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 に答える