C++ c++ keybd_event gibt falsche buchstaben/zahlen aus

jannis540

Cadet 3rd Year
Registriert
Sep. 2014
Beiträge
37
Moin

Ich wollte mit meinem programm einen automatischen Login machen, aber wenn ich drot z.b. ein a rein schreibe kommt bei der Konsole eine 1 heraus bei nem c ne 3 und das ist so ziemlich mit jedem Buichstaben.

Hier das was ich geschrieben habe.

keybd_event('a', 0, 0, 0);
Sleep(10);
keybd_event('a', 0, KEYEVENTF_KEYUP, 0);
Sleep(20);

LG
 
In C/C++ ist ein Character intern auch nur ein (mindestens) 8bit großer Integer Wert. Wenn du 'a' im Code schreibst übersetzt der Compiler das einen Integer Wert. Mit "a" würdest du hingegen den String verwenden.
Die Repräsentation der Werte für die Zeichen erfolgt oftmals durch die ASCII-Tabelle, jedoch nicht zwingend da es eben platformabhängig ist. Ein kleines a ist Hexadezimal 0x61 und das kleine c 0x63. Wenn du dir die Virtual Key Codes anschaust, die auf der von Valhal verlinkten Seite zu finden sind, ist 0x61 die 1 auf dem numerischen Block und 0x63 die 3.
 
Zurück
Oben