Boi*_*nst 1 .net wmi wmi-service
如何使用WMI从.NET代码启动,停止和查询本地计算机上的服务?(我正在使用C#)
我已经找到了使用ServiceController类执行此操作的良好且准确的答案,但我想尽可能使用WMI。
如果您想在更直观的ServiceController类上使用WMI ,请参阅本文(对色彩搭配不好,但它具有您想要的)。
示例代码(根据我的喜好,这里的错误处理有点硬编码):
using System.Management;
public static ReturnValue StartService(string svcName)
{
string objPath = string.Format("Win32_Service.Name='{0}'", svcName);
using (ManagementObject service = new ManagementObject(new ManagementPath(objPath)))
{
try
{
ManagementBaseObject outParams = service.InvokeMethod("StartService",
null, null);
return (ReturnValue)Enum.Parse(typeof(ReturnValue),
outParams["ReturnValue"].ToString());
}
catch (Exception ex)
{
if (ex.Message.ToLower().Trim() == "not found" ||
ex.GetHashCode() == 41149443)
return ReturnValue.ServiceNotFound;
else
throw ex;
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6172 次 |
| 最近记录: |