Quote:
Originally Posted by warfley
Du brauchst ein Integer Feld Count dann beim Start
Code:
Count = IntegerProcess.GetProcessesByName("Notepad")
und dann im Timer:
Code:
if IntegerProcess.GetProcessesByName("Notepad") < Count Then
Rem Wurde Beendet
Else
Count = IntegerProcess.GetProcessesByName("Notepad")
End If
|
Danke für deine Hilfe, aber des klappt bei mir nicht. Ich bin noch nicht SEHR erfahren, ich wüsste nicht wo ich Count = IntegerProcess.GetProcessesByname("Notepad") einfügen müsste.
Quote:
Originally Posted by Kraizy
GetProcessesByName liefert dir ein Array der Prozesse. Bevor du also auf HasExited zugreifst, musst du erst angeben, welchen Eintrag du aus diesem Array meinst. Zum Beispiel durch GetProcessesByName("Notepad")(0).HasExited.
Was du jedoch beachten solltest, wenn du das benutzt: du wirst sehr wahrscheinlich eine Exception bekommen, wenn kein Notepad Prozess läuft, da im Array keine Einträge vorhanden sein werden.
Kleines Beispiel:
PHP Code:
dim procs() as process
//button1 procs = Process.GetProcessesByName("Notepad")
//button2 if procs.count > 0 then for each proc as process in procs if proc.hasexited then msgbox("process with ID " & proc.Id & " has exited.") else msgbox("process with ID " & proc.Id & " still running.") end if next else msgbox("no processes") end if
Als Test öffnest du nun einfach mal 3x den Notepad, drückst Button1. Danach schließt du einen Notepad, und guckst mal was dir Button2 sagt.
Ach und nochwas: HasExited solltest du lieber bei den Prozessen benutzen, die du selber in deinem Programm ausführst und in einer Variable speicherst, z.B.
PHP Code:
dim myproc as process = process.start("Notepad") //... if myproc.hasexited then //...
|
Danke für deine wirklich gute Hilfe, jedoch versteh ich dies auch nicht ganz. Ich bräuchte einen Fertigen Code um das ganze besser nachvollziehen zu können.
PHP Code:
dim procs() as process
//button1
procs = Process.GetProcessesByName("Notepad")
//button2
if procs.count > 0 then
for each proc as process in procs
if proc.hasexited then
msgbox("process with ID " & proc.Id & " has exited.")
else
msgbox("process with ID " & proc.Id & " still running.")
end if
next
else
msgbox("no processes")
end if
Der Code funktioniert einfach nicht. Es wird nur folgendes ausgeführt:
PHP Code:
msgbox("no processes")
Auch wenn der Prozess an ist, wird mir folgendes nicht angezeit:
PHP Code:
msgbox("process with ID " & proc.Id & " still running.")
und wenn ich es beende wird mir auch nicht folgendes angezeigt:
PHP Code:
msgbox("process with ID " & proc.Id & " has exited.")
Ich hoffe, du kannst mir da Privat weiterhelfen.
Skype: Schicke ich dir Privat.
Währe dir wirklich vielmals dankbar.