win32_process: keine rückgabewerte für STATE und EXECUTIONSTATE

16/10/2007 - 14:15 von kornkreismacher | Report spam
Hi,
ich möchte mittels einem VBSkript eine Softwareanwendung überwachen. Dies
ginge mit der Klasse Win32_Process und den Eigenschaften Status und
ExecutionState!

Allerdings bekomme ich kein Ergebnis oder besser keinen Status angezeigt. Zu
erwarten wàre zum Beispiel der Wert 2 für "ready" also betriebsbereit!

Der Aufruf der Eigenschaften könnte zum Beispiel so aussehen:

For Each objItem in colItems
Wscript.Echo "ExecutionState: " & objItem.ExecutionState
Wscript.Echo "Name: " & objItem.Name
Wscript.Echo "Status: " & objItem.Status

Für den "Namen" (oder auch processID) bekomme ich eine entsprechende
Meldung. Aber für die anderen beiden nicht! Habe es zum Beispiel mit den
Programmen AutoCAD, Outlook, notepad,... probiert.


hier stehen die möglichen Status:
http://msdn2.microsoft.com/en-us/li...87976.aspx

und hier steht, dass diese Eigenschaften nicht implementiert sind:
http://msdn2.microsoft.com/en-us/li...94372.aspx

wieso ist das so??? ich möchte zum Beispiel die Informationen, welche der
Taskmanager über eine Anwendung liefert erhalten!!! Geht das nicht irgendwie
mit WMI????

Gruß
 

Lesen sie die antworten

#1 Pegasus \(MVP\)
16/10/2007 - 14:49 | Warnen spam
"kornkreismacher" wrote in
message news:
Hi,
ich möchte mittels einem VBSkript eine Softwareanwendung überwachen. Dies
ginge mit der Klasse Win32_Process und den Eigenschaften Status und
ExecutionState!

Allerdings bekomme ich kein Ergebnis oder besser keinen Status angezeigt.
Zu
erwarten wàre zum Beispiel der Wert 2 für "ready" also betriebsbereit!

Der Aufruf der Eigenschaften könnte zum Beispiel so aussehen:

For Each objItem in colItems
Wscript.Echo "ExecutionState: " & objItem.ExecutionState
Wscript.Echo "Name: " & objItem.Name
Wscript.Echo "Status: " & objItem.Status

Für den "Namen" (oder auch processID) bekomme ich eine entsprechende
Meldung. Aber für die anderen beiden nicht! Habe es zum Beispiel mit den
Programmen AutoCAD, Outlook, notepad,... probiert.


hier stehen die möglichen Status:
http://msdn2.microsoft.com/en-us/li...87976.aspx

und hier steht, dass diese Eigenschaften nicht implementiert sind:
http://msdn2.microsoft.com/en-us/li...94372.aspx

wieso ist das so??? ich möchte zum Beispiel die Informationen, welche der
Taskmanager über eine Anwendung liefert erhalten!!! Geht das nicht
irgendwie
mit WMI????

Gruß




Damit habe ich auch schon Schwierigkeiten gehabt. Das folgende
Beispiel ist zwar ein bisschen anders als dein eigenes Programm,
aber es funktioniert:

Const WshRunning = 0, WshFinished = 1, WshFailed = 2
cmd = "%comspec% /c type " & Tempname1 & " | sort > " & TempName2
Set ObjExec = ObjWshShell.Exec(cmd)
Do While ObjExec.Status = WshRunning
WScript.Sleep 100
Loop

Mein Programm wartet, bis der "sort"-Vorgang abgeschlossen ist.

Ähnliche fragen