![]() |
automatisch in bestimmtem Intervall Taste senden
Hallo ihr Lieben,
ich hab mal eine Frage zur Simulation von einem Tastendruck und dem Senden von diesem an eine andere Applikation. Ich weiß, dass ersteres schon 1000 Mal behandelt wurde, aber ich weiß nicht wie ich das ganze in Zusammenhang bringen kann. Folgende Aufgabe ist zu lösen: Ich habe ein Spiel, welches nach 30 Minuten inaktiv wird. Wenn ich jedoch innerhalb dieser Zeit eine Taste drücke, dann verlängert sich diese Zeit entsprechend. Meine Idee ist die, ein einfaches Programm zu schreiben, welches im Hintergrund läuft und alle 15 Minuten den Rechtspfeil eine Sekunde lang (!) an das Programm senden. So dreht sich die Figur im Spiel und die "Deadline" zur Inaktivität wird um 15 Minuten verlängert. Habt ihr Ideen oder Codeschnipsel, um das Ganze so zu realisieren? Vielen Dank schonmal im Vorraus! m!cro |
Re: automatisch in bestimmtem Intervall Taste senden
Ein Timer und SendKeys.
|
Re: automatisch in bestimmtem Intervall Taste senden
Also nen Timer starten, der alle 15 Min einen timer aufruft, der eine sekunde lang sendkeys aufruft?
|
Re: automatisch in bestimmtem Intervall Taste senden
Dein Spiel wird ja vermutlich schon den Focus haben und muss somit nicht erst den Focus erhalten.
|
Re: automatisch in bestimmtem Intervall Taste senden
Ja, das mit dem Focus hat sich wohl erledigt, weil so wie ich das gerade gelesen habe, sendkeys extra dafür gemacht ist, keys an externe Applikationen zu senden.
|
Re: automatisch in bestimmtem Intervall Taste senden
So, bisher habe ich folgendes:
procedure TForm4.Button1Click(Sender: TObject); var i: integer; begin for i:=1 to 10 do // = 10 Mal begin Keybd_Event(Ord('A'),0,0,0); sleep (1000); Keybd_Event(Ord('A'),0,KEYEVENTF_KEYUP,0); sleep(10000); // alle 10 Sek end; end; Also zum testen alle 10 Sek statt 15 Min. Nur nun habe ich durch die for-Schleife das Problem, dass ich das Ganze nicht stoppen kann. Ich könnte auf die Form noch einen Button für stop legen, aber ich kann ja die Form nicht mehr aufrufen (solange die Schleife läuft)... Was kann ich da machen? Helfen SpeedButton da weiter? m!cro |
Re: automatisch in bestimmtem Intervall Taste senden
Man nehme: einen Timer mit Interval 15 Minuten und da das senden des Keys. Alternativ könntest du mal nach
![]() |
Re: automatisch in bestimmtem Intervall Taste senden
Zitat:
Mit einem Button könntest Du den Timer von enabled auf disabled stellen um die Aktionen zu starten oder zu unterbrechen. Grüße Klaus |
Re: automatisch in bestimmtem Intervall Taste senden
Das ist ne super Idee! Danke dir. Thema gelöst.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz