Keyboard-Event
-
Guten Tag,
ich habe vor mit einem Programm alle Tasten von a - z zu tippen. Dazu will ich keybd_event() benutzen.
Hier ist erstmal der Code#include <windows.h> int main() { Sleep(2000); for(BYTE i = 65; i <= 91; i++) { keybd_event(i, i, 0, 0); keybd_event(i, i, KEYEVENTF_KEYUP, 0); } }Nun meine Frage : Gibt es einen schnelleren Weg ? Also damit das Programm schneller abläuft. Irgendwie laggt mein PC wohl, oder ich hatte es gestern ein bisschen anders gemacht, denn gestern hatte das Programm es in 0 Sekunden geschafft, jetzt braucht es aber 0,17 Sekunden. Hätte jemand eine schnellere Variante ?
Mit freundlichen Grüßen : FreakY
-
Programmiertechnisch lässt sich da wohl nichts mehr verbessern.
Du könntest halt den Text gleich direkt an das entsprechende Fenster schicken, das würde auf jeden Fall um ein Vielfaches schneller gehen als das ganze durch Keyboardevents auszulösen.
-
Könntest du mir da vielleicht ein Schlüsselwort geben, wonach ich googlen könnte ? Also welche Funktion muss ich verwenden ?
-
-
Hi,
verwende bitte für Tastatur- und Maus-Simulationen nach Möglichkeit die Funktion SendInput().
--> Suche mit Google oder hier im Forum.Siehe auch als kleine Grundlage "Die Unsitte Tastatureingaben mit WM_KEYDOWN Nachrichten zu simulieren" http://blog.m-ri.de/index.php/2007/12/27/die-unsitte-tastatureingaben-mit-wm_keydown-nachrichten-zu-simulieren
Martin
-
Mein Vorschlag war ja nicht SendMessage durch WM_KEYDOWN als Keyboard Simulation zu verwenden, sondern mit WM_SETTEXT den Text direkt zu setzen.
SendMessage(NULL, WM_SETTEXT, 0, (LPARAM)"Alle Buchstaben von a-z...");