System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo = new System.Diagnostics.ProcessStartInfo("cmd.exe","/c \"net start w3svc\""); p.Start();
using System; using System.Management; // 获取指定服务属性的值 public object GetServiceValue(string serviceName,string propertyName) { ManagementObject mo = this.managementClass.CreateInstance(); mo.Path = new ManagementPath(this.strPath+".Name=\""+serviceName+"\""); return mo[propertyName]; } // 获取计算机的所有服务数据 public string [,] GetServiceList() { string [,] services = new string [this.managementClass.GetInstances().Count,4]; int i = 0; foreach(ManagementObject mo in this.managementClass.GetInstances()) { services[i,0] = (string)mo["Name"]; services[i,1] = (string)mo["DisplayName"]; services[i,2] = (string)mo["State"]; services[i,3] = (string)mo["StartMode"]; i++; } return services; } // 停止指定的服务 public string StopService(string serviceName) { string strRst = null; ManagementObject mo = this.managementClass.CreateInstance(); mo.Path = new ManagementPath(this.strPath+".Name=\""+serviceName+"\""); try { //判断是否可以停止 if((bool)mo["AcceptStop"]&&(string)mo["State"]=="Running" mo.InvokeMethod("StopService",null); } catch(ManagementException e) { strRst =e.Message; } return strRst; }
这个不行哦
在.NET 1.1下面不行
能不能给个范例,我对WMI不是很清楚。现在急着用,拜托了。
要是解决了50分全给你
net stop servicenameC#里面用processinfo之类的调用一下就可以了吧?
http://topic.csdn.net/u/20080218/11/88649ad6-c946-46f8-9546-926a9c583376.html
p.StartInfo = new System.Diagnostics.ProcessStartInfo("cmd.exe","/c \"net start w3svc\"");
p.Start();
using System;
using System.Management;
// 获取指定服务属性的值
public object GetServiceValue(string serviceName,string propertyName)
{
ManagementObject mo = this.managementClass.CreateInstance();
mo.Path = new ManagementPath(this.strPath+".Name=\""+serviceName+"\"");
return mo[propertyName];
}
// 获取计算机的所有服务数据
public string [,] GetServiceList()
{
string [,] services = new string [this.managementClass.GetInstances().Count,4];
int i = 0;
foreach(ManagementObject mo in this.managementClass.GetInstances())
{
services[i,0] = (string)mo["Name"];
services[i,1] = (string)mo["DisplayName"];
services[i,2] = (string)mo["State"];
services[i,3] = (string)mo["StartMode"];
i++;
}
return services;
}
// 停止指定的服务
public string StopService(string serviceName)
{
string strRst = null;
ManagementObject mo = this.managementClass.CreateInstance();
mo.Path = new ManagementPath(this.strPath+".Name=\""+serviceName+"\"");
try
{
//判断是否可以停止
if((bool)mo["AcceptStop"]&&(string)mo["State"]=="Running"
mo.InvokeMethod("StopService",null);
}
catch(ManagementException e)
{
strRst =e.Message;
}
return strRst;
}