一:使用ServiceController控制windows服务
C#中,使用ServiceController类控制windows服务,
使用之前要先添加引用:System.ServiceProcess,
然后在命名空间中引用:using System.ServiceProcess
创建 ServiceController 的实例后,必须为其设置两个属性来标识与其交互的服务:计算机名称和要控制的服务的名称,
MachineName 默认设置为本地计算机,除非想将该实例设置为指向另一台计算机不,否则不要修改。
方法:ServiceController.GetServices()返回非设备驱动程序服务和不是驱动程序的服务。若要检索设备驱动程序服务,请调用 GetDevices 方法。这两种方法一起提供对计算机上所有服务的访问。
属性:Status表示现有服务的运行状态。取值包括:
ContinuePending 服务即将继续。
Paused 服务已暂停。
PausePending 服务即将暂停。
Running 服务正在运行。
StartPending 服务正在启动。
Stopped 服务未运行。
StopPending 服务正在停止。
安装服务:
方法一、使用DOS命令安装window服务
操作:用管理员权限打开Visual Studio 2010 Command Prompt(VS自带的命令行)->进入到编译生成可执行文件的目录安装:输入命令 InstallUtil 服务名称
卸载:输入命令 InstallUtil /u 服务名称
启动:输入命令 net start 服务名称 或者 sc start 服务名称
停止:输入命令 net stop 服务名称 或者 sc stop 服务名称
如何删除一个服务:
①sc delete ServiceName
②在注册表HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services下找到对应的服务,删除即可。
方法二、使用安装项目安装windows服务
http://blog.csdn.net/wangzhen209/article/details/52931463
方法三、
在ProjectInstaller.cs的后台代码中添加安装服务和卸载服务的代码
注:
如何创建 Windows 服务 https://msdn.microsoft.com/zh-cn/library/9k985bc9.aspx
调试 Windows 服务应用程序 https://msdn.microsoft.com/zh-cn/library/7a50syb3.aspx