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 explicit
on error resume next

Dim WShell, strComputer, objWMIService, colitems, objItem
Dim PID, oargs, ra

set oArgs=wscript.Arguments

if oArgs.Count <1 then
wscript.echo VBCRLF & "! FEHLER !" & VBCRLF & "! Fehlender Parameter !"
wscript.quit
End 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

  • Donnerstag, 15 März 2018

Leave a comment

You are commenting as guest.