Einzelnen Beitrag anzeigen

teekay

Registriert seit: 3. Jun 2004
23 Beiträge
 
Delphi 7 Enterprise
 
#1

Status einer Anwendung prüfen

  Alt 12. Sep 2004, 14:22
Hallo Leute

ich hab mal eine Frage zu einem Beitrag von Luckie in der Code Libary http://www.delphipraxis.net/topic30942_pruefen+ob+eine+anwen ... aeuft.html

also folgendes das ganze funktioniert einwandfrei
THX so far

ich habe aber ein Problem : und zwar rufe ich eine Anwendung mit
ShellExecute(Application.Handle, 'open' ,PChar('InoDist.exe'), PChar('/cfg InoDist.ini'), PChar(DateiPfad), sw_ShowNormal);
auf das ganze funktioniert jedoch schliesst diese Anwendung automatisch also ohne Einwirken des Users
genau da liegt das Problem
Code:
while bClose = False do
  begin
    hProcess := GetProcessHandleFromID(GetProcessID('notepad.exe'));
    if hProcess = 0 then
      Label1.Caption := 'Notepad läuft nicht'
    else
      Label1.Caption := 'Notepad läuft';
    Application.HandleMessage;
  end;
in dieser Schleife wird ja permanent der Handle abgefragt jedoch führt das Automatische Schliessen nicht zu einer veränderung !!! erst wenn eine Aktion des users durchgeführt wird (mausklick etc...) wird der Handle aktualisiert und die Schleife gibt hProcess = 0 true aus

Zum Hintergrund :
ich habe vor das Virensignatur-Update von eTrust 7.0 zu automatisieren. Mein Programm öffnet die 'InoDist.exe'
automatisch wird eine DFÜ Verb hergestellt und 'InoDist.exe' prüft ob es updates gibt und lädt diese herunter. wenn das Programm fertig ist schliesst es sich selbst und das wollte ich mit Luckies Prozedur im Hintergrund abfangen, damit ich die DFÜ Verbindung trennen kann
Ziel : kosten bei Kunden sparen die noch per ISDN ins netz gehen


Gibt es vielleicht zusätzlich / alternativ die möglichkeit die ProcessID abzufragen ???

(provisorisch mache ich es mit einem simulierten Mausklick wobei dann hProcess = 0 true ausgibt
ist aber nicht so wirklich das gelbe vom ei)

mfG TeeKay
  Mit Zitat antworten Zitat