CheckProcess
Dieses kleine Script erwartet als Startparameter einen Prozessnamen.
Solange dieser Prozess läuft, wartet die Routine in einem Loop. Erst wenn der Prozess beendet ist, beendet sich auch das Script.
Ich habe dieses Script erstellt, um einen Kontrollmechanismus zu ermöglichen für automatische Installationen, die aus einer Batchdatei heraus gestartet werden. Man könnt jetzt auch sagen, dafür gibt es doch auch Tools wie tlist.exe, aber hier spielt wohl auch der persönliche Ehrgeiz eine Rolle... :-)
Hier kommt der Code :
option expliciton error resume next
Dim WShell, strComputer, objWMIService, colitems, objItemDim PID, oargs, ra
set oArgs=wscript.Arguments
if oArgs.Count <1 then wscript.echo VBCRLF & "! FEHLER !" & VBCRLF & "! Fehlender Parameter !" wscript.quitEnd if
Set WShell = CreateObject("WScript.Shell")
strComputer = "."
Do Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_process where name =" & "'" & oargs(0) & "'")
PID = 0  For Each objItem in colItems ra = objItem.Caption if Instr(0, ra, oargs(0)) then PID = objItem.ProcessId WScript.Sleep 2500 End If Next
Loop while pid > "0"
wscript.quit