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