2009-01-17 11 views
0

J'ai eu cette idée il y a longtemps quand j'ai vu une application faire cela pour un jeu.utilisation de touches, problème de rappel de clavier

Je veux attraper certaines frappes. Quelque chose comme/s myCommand. J'avais ppl msg moi et me gâcher à travers msn si ma première commande serait quelque chose comme killmsn. J'ai regardé la ressource sur msdn et suis allé aussi loin. Cela ne marche pas, pourquoi pas? est-ce la Colombie-Britannique du sommeil? Sinon, que dois-je faire, notez que je n'ai pas une fenêtre et je veux que ce soit une application de la console. mon KeyboardProc est jamais appelé

#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; 
} 

Répondre

0

Solution

//Sleep(10000); 
MSG msg; 
while(GetMessage(&msg, NULL, 0, 0) > 0) 
{ 
    TranslateMessage(&msg); 
    DispatchMessage(&msg); 
} 
UnhookWindowsHookEx(hook); 
Questions connexes