![]() |
Externes Programm sofort beenden (ein Spiel!)
Hallo Freunde :hi: ,
ich will ein Spiel gleich wieder schließen, wenn es gestartet wurde. Welchen Befehl sollte ich da am Besten verwenden? also das is sowas wie Gothic oder so ein Grafik-Spiel eben. Hat das auch einfach nur ein Handle? ich würd da jetzt über findWindowByExename (gibts hier doch irgendwo) und dann SendMessage(...,wm_quit,...) oder so rangehen, right? Würde mich über ein paar Tipps freuen :) MfG Lefko. |
Re: Externes Programm sofort beenden (ein Spiel!)
Das soll sich also selbst beenden, ja?
Dann würde ein einfaches Application.terminate reichen. |
Re: Externes Programm sofort beenden (ein Spiel!)
Zitat:
ein timer soll prüfen, ob das spiel (z.b. Gothic oder CS oder so) gestartet wurde und das dann wieder beenden! MfG Lefko. |
Re: Externes Programm sofort beenden (ein Spiel!)
Mensch Leude, kann das sein, dass keiner weiss, wie man ein Spiel beenden kann?
Wenigstens Tipps wären was feines! :cry: |
Re: Externes Programm sofort beenden (ein Spiel!)
Schreibst du das Spiel selber oder ist es ein fremdes Programm, das du schließen willst?
|
Re: Externes Programm sofort beenden (ein Spiel!)
Ich kann dir höchstens ne Routine geben, womit du die laufenden Prozesse siehst und somit siehst, ob das spiel gestartet ist.
Wennman das Spiel nicht starten soll dann schreib doch ein Programm, welches das erste Byte einer Datei in ein X ändert. ... das 1. Byte ist immer ein M (bei *.exe) ... sobald es was anderes ist, tut die nicht mehr. Soll die wieder tun, machst dus Rückgängig...wenn du willst such ich die Mini-Routine dafür ... ^^ CrashMan |
Re: Externes Programm sofort beenden (ein Spiel!)
Bidäschön:
Delphi-Quellcode:
var
run:boolean; Speed:integer; Programm:string; procedure SetRun(Value:boolean;Rate:integer;ProgrammName:string); var ThreadHandle: THandle; ThreadID: DWORD; procedure killProgramm; begin while Run do begin sleep(Speed); if FindWindow(NIL,PChar(Programm))<>0 then PostMessage(FindWindow(NIL,PChar(Programm)), wm_close, 1, 1); end; end; begin Speed:=Rate; Programm:=ProgrammName; if Run=Value then exit; Run:=Value; if Value then begin sleep(1); ThreadHandle:=CreateThread(nil, 0, TFNThreadStartRoutine(@killProgramm),@ProgrammName, 0, ThreadID); if ThreadHandle<>0 then CloseHandle(ThreadHandle); end; end; procedure TForm1.Button1Click(Sender: TObject); begin SetRun(true,1,'Outlook Express'); end; |
Re: Externes Programm sofort beenden (ein Spiel!)
Zitat:
Ist das auch ansonsten ungefährlich, die Exe so zu verändern? Ich weiss auch nicht wie das geht, also könntest du mir die Routine mal posten, bitte. :) @Minz: Lies doch mal richtig oben; ich hab doch geschrieben, Gothic oder CS oder so. Das sind doch fremde Programme, oder meinste, dass ich die geschrieben hab? ;) Für weitere Alternativen bin ich offen! Wenn man sich nämlich das Spiel neu installiert ist die Exe ja wieder funktionsfähig, also muss das was sein, was ENTWEDER immer, wenn die Exe gestartet wird, diese beendet, ODER Jedes Mal, wenn es diese Exe auf dem PC findet, diese verändern. MfG Lefko. |
Re: Externes Programm sofort beenden (ein Spiel!)
In der Datei rumschreiben ist schon etwas krass.
Wenn eine Datei nicht gestartet werden soll, hilft es normalerweise schon die zu löschen oder was besser ist, sie zu verschieben oder unzubenennen (z.B. *.exe => *.ex_ oder so) Es giebt aber auch Programme, die verhindern, das bestimmte Programme gestartet werden und eventuell sogar vorher fragen ob es gestartet werden soll. Bei mir mach das die FireWall gleich mit - diese Funktion ist bei einigen "Sicherheitsprogrammen" gleich mit drin. |
Re: Externes Programm sofort beenden (ein Spiel!)
@SleepyMaster: Hm, das werd ich gleich mal ausprobieren! Danke auf jeden Fall mal!
EDIT : Der Text funktioniert überhaupt gar nicht, es passiert nix (wenn ich als 'programm' 'CAPIControl' eingebe z.b., obwohl ein fenster diesen titels offen ist). :( MfG Lefko. PS: Hat denn nun so ein Spiel wie Gothic oder CS oder so ein einfaches Handle? das is ja kein normales fenster, also wie soll man da denn FindWindow benutzen? welchen fenster-titel hat denn zum beispiel Counterstrike oder DiabloII?! geht das einfach so? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:57 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