AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Laufen eines Programmes überprüfen
Thema durchsuchen
Ansicht
Themen-Optionen

Laufen eines Programmes überprüfen

Offene Frage von "cchris"
Ein Thema von cchris · begonnen am 1. Jul 2005 · letzter Beitrag vom 1. Jul 2005
Antwort Antwort
Benutzerbild von cchris
cchris

Registriert seit: 16. Jun 2003
Ort: Taucha
71 Beiträge
 
Delphi 2005 Personal
 
#1

Laufen eines Programmes überprüfen

  Alt 1. Jul 2005, 12:23
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
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

Re: Laufen eines Programmes überprüfen

  Alt 1. Jul 2005, 12:28
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.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
barf00s
(Gast)

n/a Beiträge
 
#3

Re: Laufen eines Programmes überprüfen

  Alt 1. Jul 2005, 12:28
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;
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#4

Re: Laufen eines Programmes überprüfen

  Alt 1. Jul 2005, 12:34
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 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