public int GetWindowsServiceStartType(String sServiceName) //判断服务状态是手动还是禁用还是自动
{
string sState = ""; try
{
System.Diagnostics.ProcessStartInfo objProcessInf = new System.Diagnostics.ProcessStartInfo(); objProcessInf.FileName = "cmd.exe"; objProcessInf.UseShellExecute = false; //是否使用系统shell启动进程 objProcessInf.RedirectStandardError = true;//错误信息写入流
objProcessInf.RedirectStandardInput = true;
objProcessInf.RedirectStandardOutput = true; //应用程序的输出写入流 objProcessInf.CreateNoWindow = true; //是否在新窗口启动该进程 objProcessInf.Arguments = "/c sc qc " + sServiceName; //启动参数 System.Diagnostics.Process objProcess = System.Diagnostics.Process.Start(objProcessInf); //启动进程 String sStateValue = objProcess.StandardOutput.ReadToEnd(); //读取应用程序输出的流 if (sStateValue.IndexOf("AUTO_START") > )
{
sState = "AUTO_START";
return ;
} if (sStateValue.IndexOf("DEMAND_START") > )
{
sState = "DEMAND_START";
return ;
} if (sStateValue.IndexOf("DISABLED") > )
{
sState = "DISABLED";
return ;
} return ; }
catch (Exception e)
{
sState = e.Message;
return -;
}
} public Boolean SetWindowsServiceStartType(String sServiceName, int iStartType) //设置服务状态是手动,自动,还是禁用
{
try
{
System.Diagnostics.ProcessStartInfo objProcessInf = new System.Diagnostics.ProcessStartInfo(); objProcessInf.FileName = "cmd.exe"; objProcessInf.CreateNoWindow = false;
objProcessInf.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; string sStartState = "boot"; switch (iStartType)
{
case :
{
sStartState = "system";
break;
}
case :
{
sStartState = "auto";
break;
}
case :
{
sStartState = "demand";
break;
}
case :
{
sStartState = "disabled";
break;
}
default:
{
break;
}
} objProcessInf.Arguments = "/c sc config " + sServiceName + " start= " + sStartState; System.Diagnostics.Process.Start(objProcessInf); return true;
}
catch
{
return false;
}
}
 ServiceController sc = new ServiceController("Themes");
if (sc.Status.Equals(ServiceControllerStatus.Running))
{
sc.Stop();
sc.Refresh();
}
if ((sc.Status.Equals(ServiceControllerStatus.Stopped)) || (sc.Status.Equals(ServiceControllerStatus.StopPending)))
{
sc.Start();
sc.Refresh();
}
            bool exist = false;
ServiceController[] Services = ServiceController.GetServices();
for (int i = ; i < Services.Length; i++)
{
if (Services[i].DisplayName.ToString() == textBox1.Text.Trim())
exist = true;
}
return exist;

最新文章

  1. 高程三:Array
  2. Runnable接口
  3. IOS 杂笔-18 (let 与 var)
  4. JavaScript开发中的一些问题
  5. Power Gating的设计(模块)
  6. Ubuntu 14.10 下查看系统硬件信息(实例详解)
  7. css3 动画demo
  8. RabbitMQ RPC问题
  9. [二]JFreeChart实践一
  10. GRUB引导——menu.lst的写法
  11. ubuntu14.04无法播放更新后完善的解决方案
  12. hiboCoder 1041 国庆出游 dfs+思维
  13. zabbix添加nginx监控
  14. 怎么把微信里的文件发到QQ?
  15. power designer 一般常用快捷键(转)
  16. PAT 1019 数字黑洞
  17. CRM 数据查重
  18. BZOJ.4727.[POI2017]Turysta(哈密顿路径/回路 竞赛图)
  19. [UGUI]渲染层级关系
  20. MongoDB 聚合嵌入的数组(扁平化数据+管道)

热门文章

  1. Hexo系列(三) 常用命令详解
  2. 邓_ PHP&#183;笔记(函数总结)
  3. 【[Offer收割]编程练习赛15 B】分数调查
  4. QT创建快捷方式
  5. Ubuntu 14.04远程登录服务器
  6. CF789B. Masha and geometric depression
  7. js dom元素加载完成执行
  8. ExtJs之Ext.grid.GridPanel(部分未完)
  9. DNS绑定多个IP地址
  10. 部署WAR包实时查看Tomcat的状态和日志