![]() |
Laufen eines Programmes überprüfen
Hi!
Ich möchte ein Programm schreiben, was überprüft, ob ein bestimmtes Programm läuft und dann, falls es das nicht tut den Rechner neu Startet und dann das Programm neu startet. Wie das Neustarten zu realisieren ist weis ich, auch dass ich die Abfrage über nen Timer laufen lassen muss weis ich, aber wie bekomme ich die Information, ob ein Programm läuft oder nicht? Danke im Vorraus |
Re: Laufen eines Programmes überprüfen
Zitat:
Delphi-Quellcode:
Statt TAppBuilder verwende das "Caption" Deines Fensters.
...
var h: THandle; ... h := FindWindow('TAppBuilder', nil); if h <> 0 then begin // Delphi läuft end; ... |
Re: Laufen eines Programmes überprüfen
wenn du den Titel des programms kennst (bzw des hauptfensters) kannst du es mit "FindWindow(szClassName, szTitle)" suchen
Delphi-Quellcode:
var
iWindow: cardinal; begin iWindow := FindWindow('Winamp v1.x', nil); // würde beispielsweise das hauptfenster vom Winamp suchen if iWindow <> 0 then ShowMessage('Fenster gefunden') else MachDasDasProgramWiederLäuft; end; |
Re: Laufen eines Programmes überprüfen
Einen Timer solltest du schonmal nicht benutzen, sondern vielmehr Threads. Außerdem mußt du alle Prozesse auflisten und dann dort nach deinem gesuchten suchen - wenn nicht gefunden dann neu starten, sonst schlafenlegen.
Wenn du das 2te Programm selber schreibst, solltest du mit Mutexen arbeiten (2tes Stichwort). Stichworte: - Prozesse auflisten - Eine Programminstanz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:00 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