2016-04-25 96 views

回答

1

根据MSDN,如果WMI服务未运行,则“在第一个管理应用程序或脚本请求连接到WMI名称空间时自动启动”。

所以你不需要手动启动它。但是,如果你需要,该ServiceController class会是一个方法:

using(ServiceController sc = new ServiceController("winmgmt")) 
{ 
    sc.Start(); 
} 

这需要你参考并导入System.ServiceProcess命名空间。

+0

我想这不起作用,因为服务不仅是开始,它也是禁用的。我不得不打开它并手动启动它的工作 – Jack

+0

@Jack:你可以看到[这个答案](http://stackoverflow.com/a/24947650/3740093)如何使用WinAPI启用服务。 –

+0

这是我在找的,谢谢!我不确定应该使用哪个名称作为serviceName paramaeter?例如,我想获取用户物理mac地址,我正在使用这个WQL查询:'Select * FROM Win32_NetworkAdapterConfiguration'服务名称是'NetworkAdapterConfiguration'? – Jack

相关问题