windows 服务

1> 新建一个windows服务项目


2> 选中Service1 然后在视图界面,右键-->[添加安装程序]

 

3>

这时会出现ProjectInstaller.cs 文件,以及在ProjectInstaller 视图界面 有2个控件ITPUB个人空间+ROb(@O[)G
serviceInstaller1: 你可以修改它的Descirption 以及 ServiceName 这2个属性分别为你的 服务描述 和 服务名称ITPUB个人空间i4E)}qu#iz/I(Rl
serviceProcessInstaller1: 你需要修改Account属性,它代表运行此服务的帐户类型,一般你需要把他改为LocalSystem

 

到现在我们前期工作都完成,然后你可以在Service1.cs里面编写你的服务代码了,它分别有

OnStart(string[] arg)和OnStop() 方法,你可以在此编写你需要的执行的程序了.

 

然后我们运行.net的发布工具installutil .exe来添加到windows服务里面(该工具默认在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 目录下)

把下面代码 保存到txt文件,并且另存为bat文件,并且和你的exe文件放在一起,那么双击就可以直接安装服务了.

安装:

@echo off
echo wjboy49服务安装
cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
C:
installutil D:/Debug/WindowsServiceZol.exe         --注D:/Debug/是你windows服务的路径
echo 成功
echo. & pause
 

 

 

卸载:

只要改成 installutil D:/Debug/WindowsServiceZol.exe /u就哦啦。

 

 

 

 

安装后自动启动,要在ProjectInstaller中加入下面的语句

        private void serviceInstaller1_AfterInstall(object sender, InstallEventArgs e)
        {
             
            Process p = new Process();
            p.StartInfo.FileName = "cmd.exe";
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardError = true;
            p.StartInfo.CreateNoWindow = true;
            p.Start();
            string Cmdstring = "sc start wjboy49"; //CMD命令
            p.StandardInput.WriteLine(Cmdstring);
            p.StandardInput.WriteLine("exit");
     
        }
 

 

你可能感兴趣的:(C++,c,windows,.net,Microsoft)