我有一个IronPython脚本,它使用WMI查找当前正在运行的进程。代码如下所示:
import clr
clr.AddReference('System.Management')
from System.Management import ManagementClass
from System import Array
mc = ManagementClass('Win32_Processes')
procs = mc.GetInstances()
我调用GetInstances()
方法的最后一行引发了以下错误:
Traceback (most recent call first):
File "<stdin>", line 1, in <module>
SystemError: Not Found
我不明白什么没找到?!?我相信我可能需要将ManagementOperationObserver
和EnumerationOptions
的实例传递给GetInstance()
但是,我不明白为什么会这样,因为带有签名{{1}的方法} Getinstance()
中可用。
答案 0 :(得分:1)
我认为唯一的问题是'Win32_Processes'是'Win32_Process'的拼写错误。这似乎有效:
>>> mc = ManagementClass('Win32_Process')
>>> procs = mc.GetInstances()
>>> for p in procs:
... print p['Name']
...
System Idle Process
System
smss.exe
(etc)