утилита нажатия клавиш, проблема с обратным вызовом клавиатуры - PullRequest
0 голосов
/ 18 января 2009

Я получил эту идею давным-давно, когда увидел, как приложение делает это для игры.

Я хочу поймать определенные нажатия клавиш. Что-то вроде / s myCommand. У меня был ppl msg me и я запутался в msn, поэтому моя первая команда будет что-то вроде killmsn Я посмотрел ресурс на MSDN и получил это далеко. Это не работает, почему нет? это до н.э. сна? как еще я должен это сделать, обратите внимание, у меня нет окна, и я хочу, чтобы это было консольное приложение. мой 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;
}

1 Ответ

0 голосов
/ 18 января 2009

Решение

//Sleep(10000);
MSG msg;
while(GetMessage(&msg, NULL, 0, 0) > 0)
{
    TranslateMessage(&msg);
    DispatchMessage(&msg);
}
UnhookWindowsHookEx(hook);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...