Gui*_*e V 10 c# windows wmi wmi-query
我想在此查询后找到一些结果,但在foreach循环的开头,出现错误"invalid class".
string wmiQuery = string.Format("SELECT * FROM Win32_Process");
var searcher = new ManagementObjectSearcher(wmiQuery);
var wmiResults = searcher.Get();
foreach (ManagementObject retObject in wmiResults)
{
Console.WriteLine("[{0}]\tName: {1}", retObject["ProcessID"], retObject["Name"]);
}
Run Code Online (Sandbox Code Playgroud)
我使用窗口7 64,我想知道Win32_Process是否存在.我也使用wmi代码创建者从http://www.microsoft.com/downloads/en/details.aspx?familyid=2cc30a64-ea15-4661-8da4-55bbc145c30e&displaylang=en下载它, 但我找不到任何Win32_Process.
有人有想法吗?
Gui*_*e V 13
我解决了我的问题.看来我的WMI已经腐败了.在使用此步骤测试WMI之后:
我看到Win32_Process是一个无效的类我按照这一步修复我的WMI,它工作
1)在开始菜单中键入"cmd"
2)键入"net stop winmgmt"并按Enter键
3)打开Windows资源管理器并找到C:\ windows\system32\WBEM \文件夹的路径,并将Repository文件夹重命名为RepositoryOLD之类的其他内容(右键单击并选择"重命名文件夹").
4)重启电脑
5)在开始菜单中键入"cmd"
6)键入"net stop winmgmt"并按Enter键
7)键入"winmgmt/resetRepository"并重新启动计算机.