C# window服务操作
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;
C# window服务操作的更多相关文章
- 使用winform程序控制window服务的操作
继上篇 c#之添加window服务(定时任务) 基础之上, 这篇文章主要讲述,使用winform程序来控制window服务的安装,启动,停止,卸载等操作 1.在同一个解决方案添加winform项目,如 ...
- C# 编写Window服务基础(一)
一.Windows服务介绍: Windows服务以前被称作NT服务,是一些运行在Windows NT.Windows 2000和Windows XP等操作系统下用户环境以外的程序.在以前,编写Wind ...
- 自定义Window 服务
自定义window 服务 开发到使用的流程: 1.完成对应的代码之后(代码在底下),右键MyService.cs 添加安装程序 2.添加window服务安装程序打开Service1.cs[设计]页面, ...
- 【权限维持】window服务端常见后门技术
0x00 前言 未知攻焉知防,攻击者在获取服务器权限后,通常会用一些后门技术来维持服务器权限,服务器一旦被植入后门,攻击者如入无人之境.这里整理一些window服务端常见的后门技术,了解攻击者的常见后 ...
- C#写的window服务内存溢出
浅谈c#垃圾回收机制(GC) 写了一个window服务,循环更新sqlite记录,内存一点点稳步增长.三天后,内存溢出.于是,我从自己的代码入手,查找到底哪儿占用内存释放不掉,最终明确是调用servi ...
- 接Window服务(二)
接Window服务(一) ServiceController方法调用 1 public partial class Service1 : ServiceBase 2 { 3 public Servic ...
- window 服务(一)
windows服务应用程序是一种长期运行在操作系统后台的程序,它对于服务器环境特别适合,它没有用户界面,不会产生任何可视输出,任何用户输出都回被写进windows事件日志.计算机启动时,服务会自动开始 ...
- window 服务(二)
接Window服务(一) ServiceController方法调用 public partial class Service1 : ServiceBase { public Service1() { ...
- c# window服务-初学习
window服务-初学习 一.工具: VS2015+NET Framework4.5. 二.操作: 1.新建windows服务的项目: 2.修改windows服务相关内容: 3.预览windows服务 ...
随机推荐
- 01010_Eclipse中项目的jar包导入与导出
1.jar包 jar包是一个可以包含许多.class文件的压缩文件.我们可以将一个jar包加入到项目的依赖中,从而该项目可以使用该jar下的所有类:也可以把项目中所有的类打包到指定的jar包,提供给其 ...
- daemon not running; starting now at tcp:5037 adb: CreateFileW 'nul' failed: 系统找不到指定的文件
1. INFO - roid.tools.idea.adb.AdbService - Initializing adb using: C:\Users\Administrator\AppData\Lo ...
- poj 3006水题打素数表
#include<stdio.h> #include<string.h> #define N 1100000 int isprim[N],prime[N]; void ispr ...
- 0923关于安装mysql两种简单方式
http://blog.csdn.net/liumm0000/article/details/18841197 方式一:利用RPM安装包进行安装 RPM方式安装MySQL5.6 RPM方式安装MySQ ...
- 【ACM】poj_3981_字符串替换_201307271019
字符串替换Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8447 Accepted: 3988 Description 编写 ...
- Struts简单介绍
一.在介绍struts之前,先来了解一下什么是MVC框架吧. 1.MVC介绍 MVC全名是Model View Controller.是模型(model)-视图(view)-控制器(controlle ...
- 【待解决】使用JUnit时报错java.lang
编写selenium自动化代码,代码逻辑应该都没有错,运行时老是报如下错误 java.lang.NoClassDefFoundError: org/json/JSONException 解决办法:导入 ...
- BNU 51638 Air Hockey 三分二分法
Air Hockey 无聊的过河船同学和无聊的胀鱼同学非常喜欢打桌上冰球(其实只是喜欢听球碰撞时的声音).在无聊的一天,无聊的过河船同学想到了一个无聊的玩法:两人同时将两个球放桌面上,同时击出,然 ...
- luogu2054 洗牌 同余方程
题目大意 对于扑克牌的一次洗牌是这样定义的,将一叠N(N为偶数)张扑克牌平均分成上下两叠,取下面一叠的第一张作为新的一叠的第一张,然后取上面一叠的第一张作为新的一叠的第二张,再取下面一叠的第二张作为新 ...
- linux下的oom调试笔记【原创】
平台信息:内核:linux3.0.68 系统:android/android5.1平台:s5p4418 作者:庄泽彬(欢迎转载,请注明作者) 邮箱:2760715357@qq.com 摘要:调整and ...