glipper
Messages postés246Date d'inscriptiondimanche 2 juin 2002StatutMembreDernière intervention11 septembre 2016
-
23 juin 2003 à 14:13
cs_cotmar
Messages postés71Date d'inscriptionvendredi 13 septembre 2002StatutMembreDernière intervention 9 mars 2009
-
11 juil. 2006 à 19:46
Bonjour,
J'aimerais juste faire un petit keylogger (rassurez vous ce n'est pas mechant, c'est juste pour moi), mais j'ai quelques problemes. Voici la portion de code qui traite les evenements du clavier :
case WM_TIMER:
{
a = 64;
while (a<130)
{
if (GetAsyncKeyState(a) & 0x8000)
fputc(a, fichier);
a++;
}
}
Mais voila : lorsque je tape "essai de texte", voici ce qui se note dans mon fichier texte : "EEEESSSSSSSIIIIIDDDEEEETTTTEEEXXXTTTEEE". Mon probleme est que si j'accelere le timer, certaines lettres ne passent pas...
Quelqu'un pourrait-il m'aider ?
BruNews
Messages postés21041Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 23 juin 2003 à 14:51
comme son nom l'indique, en win32 c'est placer un crochet d'interception.
Voila un exemple issu du platform sdk.
Pour NT4 pack3 ou superieur.
Cela est a lancer avec SetWindowsHookEx().
The following is a sample low-level keyboard hook procedure that disables
CTRL+ESC, ALT+TAB, and ALT+ESC:
LRESULT CALLBACK LowLevelKeyboardProc (INT nCode, WPARAM wParam, LPARAM lParam)
{
// By returning a non-zero value from the hook procedure, the
// message does not get passed to the target window
KBDLLHOOKSTRUCT *pkbhs = (KBDLLHOOKSTRUCT *) lParam;
BOOL bControlKeyDown = 0;
switch (nCode) {
case HC_ACTION: {
// Check to see if the CTRL key is pressed
bControlKeyDown = GetAsyncKeyState (VK_CONTROL) >> ((sizeof(SHORT) * 8) - 1);
// Disable CTRL+ESC
if(pkbhs->vkCode == VK_ESCAPE && bControlKeyDown) return 1;
// Disable ALT+TAB
if(pkbhs->vkCode == VK_TAB && pkbhs->flags & LLKHF_ALTDOWN) return 1;
// Disable ALT+ESC
if(pkbhs->vkCode == VK_ESCAPE && pkbhs->flags & LLKHF_ALTDOWN) return 1;
break;
}
default: break;
}
return CallNextHookEx(hHook, nCode, wParam, lParam);
}
BruNews, ciao...
Vous n’avez pas trouvé la réponse que vous recherchez ?