blacksun
Goto Top

Suche Eventwatcher - Wenn test.exe nicht mehr vorhanden, dann fuehre befehl x au

zur Bereinigung von überbleibseln des eigentlichen Programms

Hallo,

ich stehe vor folgendem Problem.
Ich brauche eine Lösung, die mir einen Befehl ausführt, sobald eine bestimmte exe-Datei nicht mehr als Task aktiv ist.
Sprich ich starte ein Programm, und sobald das Programm geschlossen wird, soll ein Befehl ausgeführt werden.

Ich habe mir überlegt, dass ich da so einen Art Eventwatcher/Taskwatcher brauche, der zusammen mit dem Programm gestartet wird (z.B. über ein Batch-File), der dann aber unsichtbar im Hintergrund schaut, ob das Programm noch aktiv ist.
Sobald das Programm nicht mehr läuft, also die exe des Programms nicht mehr aktiv ist, soll der Eventwatcher aktiv werden und noch ein abschließenden Befehl (Befehl, Batch-Datei) ausführen und sich natürlich dann selbst wieder beenden.

Ach ja, das ganze unter W2K3.

Wer kennt hierfür eine Lösung.

Gruß
Martin

Content-Key: 47013

Url: https://administrator.de/contentid/47013

Printed on: April 25, 2024 at 08:04 o'clock

Member: miniversum
miniversum Dec 18, 2006 at 16:48:25 (UTC)
Goto Top
So was ähnliches gabs schonmal. Was du suhst nent sich Tastlist und kannst du direkt in die Batch einbauen. Das sieht dann ungefär so aus:

...
set Programm=test.exe

:Schleife
tasklist |find /i "%Programm%" >nul
if errorlevel == 0 (
REM Das Programm leauft gerade!
goto :Schleife
) else (
REM Das Programm leauft gerade nicht!
Befehl
)

miniversum
Member: blacksun
blacksun Dec 19, 2006 at 09:44:56 (UTC)
Goto Top
Hallo miniversum,

das hört sich gut an.
Das werd ich gleich mal testen.
Dann bleibt aber noch ein kleines Problem.
Das ganze läuft ja als Batch die ganze Zeit im Hintergrund, sprich das cmd-Fenster ist die ganze Zeit sichtbar.

Wie das aber mit so Fenstern ist, die werden gerne mal weggeklickt.

Gibt's dann ne Möglichkeit, die Schleife unsichtbar auszuführen?

Gruß
Martin
Member: miniversum
miniversum Dec 19, 2006 at 11:06:32 (UTC)
Goto Top
Könntest die datei vielleicht ein bischen allgemeiner schreiben und als dienst laufen lassen?

miniversum
Member: blacksun
blacksun Dec 19, 2006 at 13:04:12 (UTC)
Goto Top
Hallo miniversum,

ich hab's hinbekommen.
Und zwar hab ich (mein erstes) vbs-Skript zusammengebaut:

Set WshShell = WScript.CreateObject( "WScript.Shell" )
WshShell.Run "C:\Programme\test.exe",1,False
Set WshShell = WScript.CreateObject( "WScript.Shell" )
WshShell.Run "c:\eventwatch.bat",0,False

Mit Hilfe von folgenden Links:

und
http://www.arstechnica.de/computer/vbs/wsh1.html

Zuerst lasse ich im vbs-Skript das programm starten, und ohne auf das Beenden der Anwendung zu warten (durch FALSE) führt das vbs-Skript gleich Eventwatch-Batch von Dir aus, auch ohne auf dessen Ende zu warten.

Vielen Dank für Deine Hilfe.

Gruß
Martin