Tastendruck simulieren
-
Hallo zusammen,
ich habe zur Simulation des Tastendrucks in der FAQ dieses hier gefunden:
HWND hwnd = FindWindow("IEFrame", NULL); if(hwnd) { SetForegroundWindow(hwnd); keybd_event(VK_F5, 0, 0, 0); keybd_event(VK_F5, 0, KEYEVENTF_KEYUP, 0); }Aber leider verstehe ich ihn als C++N00b nicht. Ich möchte in einem bestimmten geöffneten Fenster mit Hilfe einer Uhr alle X Sekunden zwei Tasten drücken und wieder loslassen lassen.
Wo finde ich im Allgemeinen die Fensterbezeichnung wie "IEFrame"? Und was bedeutet die Zeile vor der if-Abfrage?
Eine Erklärung zu dem Argument von keybd_event() wäre net, "VK" bedeutet? Und die Zahlen danach? Sorry der vielen Fragen, ich konnte dazu (noch) nichts finden, auch nicht in meinem Buch vom Richard Kaiser.
Gruß
Huseyin
P.S.: Wäre sicher nützlich, wenn die Beantwortung dieser Fragen auch in der FAQ stünde...oder habe ichs übersehen?
-
P.S.: Wäre sicher nützlich, wenn die Beantwortung dieser Fragen auch in der FAQ stünde...oder habe ichs übersehen?
Übersehen hast du bestimmt, dass es zu deinem Compiler eine Win 32 API Hilfe Datei gibt. Im C++Builder 6 ist sie unter Hilfe->Windows SDK zu finden.
Wäre sicher nützlich zur Beantwortung deiner Frage mal dort nach diesen Funktionen zu schauen
-
Da kann ich für mich bzgl. der Anfangszeile und den Funktionsargumenten nichts finden, erst recht nicht bzgl. der Fensterbezeichnung - kann mir da jemand helfen?
EDIT:
Ich glaube, ich hatte dies schonmal früher mit VB oder Delphi programmiert, und da ist mir gerade was eingefallen: Am allerbesten wäre es, wenn gleich auf Drücken eines Buttons eine Uhr aktiviert werden könnte, die diese VirtualKeys global verschickt, d.h. ganz egal ob ich mich jetzt in Word oder in der Browserzeiler befinde, er simuliert immer wieder den Tastendruck. Geht so etwas global ohne spezielle Fensterzuweisung?Gruß
Huseyin
-
Das ist aber schade, das du nichts finden kannst:
The FindWindow function retrieves the handle to the top-level window whose class name and window name match the specified strings. This function does not search child windows.
usw. usf.
-
Vielleicht solltest du erstmal lernen, die Hilfe richtig zu verwenden.
-
Vielleicht hätte der Moderator auch den ersten Satz zu keybd_event stehen lassen sollen.

-
Huseyin schrieb:
Am allerbesten wäre es, wenn gleich auf Drücken eines Buttons eine Uhr aktiviert werden könnte, die diese VirtualKeys global verschickt, d.h. ganz egal ob ich mich jetzt in Word oder in der Browserzeiler befinde, er simuliert immer wieder den Tastendruck. Geht so etwas global ohne spezielle Fensterzuweisung?
Hmm... also offenschtlich wird hier das Handle des Fensters mit dem Titel oder Namen "IEFrame" geholt... und auf seine Richtigkeit geprüft... und dann dieses nach vorne gesetzt... wenn du diese drei Zeilen wegnimmst, werden die anderen beiden Zeilen auch so ausgeführt... ergo ist es sehr gut möglich Tastendrucke global durchzuführen - das geschieht ja auch die ganze zeit, nur, dass manuell geprüft wird, ob es auch das richtige Fenster ist, wo sich der User befindet...