Programm beenden
-
Hallo,
ich hab da etwas für nen Freund geschrieben um in nem Spiel nicht in den away-modus zu fallen. Klappt auch ganz gut. Das einzige Problem ist das Programm zu beenden. Das geht nur über das x oben/rechts oder über den Taskmanager und dann auch nur mit der Windowsmeldung "Das Programm reagiert nicht".
Ich würde gerne das laufende Programm einfach mit der taste q beenden können. Hab dazu allerdings keine IdeeHier mein Code:
void __fastcall TForm1::Button1Click(TObject *Sender) { nochmal: Sleep(6000); SetCursorPos(300,500); Sleep(6000); SetCursorPos(100,500); goto nochmal; }thx
G-Kar
-
Hallo
Sleep ist schlecht.
Siehe TTimer.bis bald
akari
-
Hi,
void __fastcall TForm1::OnKeyPress(...) { if (key == 'q') { Application->Terminate(); } } // Die Anwendung muss dabei den Fokus besitzen // Andernfalls Systemweiten Hook verwenden (siehe FAQ)Aber dabei bitte den Post von akari beachten! Sleep unterbricht die Programmausführung für die angegebene Zeit --> Es wird auch nicht auf den Tastendruck reagieren...
mfg, Micha!
-
Bei der oben gezeigten Implementierung wird es NIE auf irgendeinen Tastendruck reagieren...
-
Hi,
sorry, wieso? gibts auf dem Form kein KeyPress

mfg, Micha!
-
Hallo
Joe meint das trotz dem KeyPress mit dem Code von G-Kar kein Programmende nach dem Drücken des Buttons mit den sleeps ausgeführt werden würde. Weil in der Endlosschleife eben keine anderen Messages/Events verarbeitet werden.
Um das zu umgehen müß man zumindestens in der Schleife Application->ProcessMessages(); aufrufen. Viel besser ist allerdings immer noch TTimer, zusammen mit dem KeyPress.bis bald
akari
-
Sorry für die mißverständliche Formulierung. akari hat es richtig erkannt.
-
Alleine schon die Konstruktion mit "goto nochmal;" ist schon fast eine "strafbare Handlung".
-
Hi,
mach doch einfach einen Timer mit Interval 6000 und folgendem Code:
bool bla; if (bla) { SetCursorPos(100,500); bla = 0; } else { SetCursorPos(300,500); bla = 1; }Und dann machst du noch das mit dem OnKeyPress das Programm beendet wird und fertig! ^^
mfg
Jakel