Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Laufen eines Programmes überprüfen (https://www.delphipraxis.net/48863-laufen-eines-programmes-ueberpruefen.html)

cchris 1. Jul 2005 12:23


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

MaBuSE 1. Jul 2005 12:28

Re: Laufen eines Programmes überprüfen
 
Zitat:

Zitat von cchris
aber wie bekomme ich die Information, ob ein Programm läuft oder nicht?

z.B.
Delphi-Quellcode:
...
var
  h: THandle;
...
  h := FindWindow('TAppBuilder', nil);
  if h <> 0 then
  begin
    // Delphi läuft
  end;
...
Statt TAppBuilder verwende das "Caption" Deines Fensters.

barf00s 1. Jul 2005 12:28

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;

Olli 1. Jul 2005 12:34

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 05:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz