c#写windows服务

创建一个Windows服务总体步骤如下:

  1. 按照Windows Service模板创建项目

    c#写windows服务_第1张图片

  2. 添加定时器(timer)或者其它控件,并编写OnStart和OnStop事件方法
    c#写windows服务_第2张图片
     

    protected override void OnStart(string[] args)
           {
               //服务开启执行代码
               //--------------/
               //一般情况下只用在这里写代码
           }
           protected override void OnStop()
           {
               //服务结束执行代码
           }
           protected override void OnPause()
           {
               //服务暂停执行代码
               base.OnPause();
           }
           protected override void OnContinue()
           {
               //服务恢复执行代码
               base.OnContinue();
           }
           protected override void OnShutdown()
           {
               //系统即将关闭执行代码
               base.OnShutdown();
           }
    
            //定时器
            private void timer1_Tick(object sender, EventArgs e)
            {
                //这是定时器里面写的方法
            }

     

  3. 添加安装程序并设置相应属性

    ProjectInstaller加入,其中有两个控件,选定“serviceInstaller1”,查看其属性,确认其ServiceName属性值为“MyService”(即和第1步设定的项目名称相同),并把StartType属性设置为“Automatic”;这里有另外两个属性值要注意,分别是“DisplayName”和“Description”,分别是服务的显示名称及描述,这两个属性可以自行随意设置,Windows服务列表中显示的名称和描述即为这两个属性所制作。如果“DisplayName”为空(默认为空),则自动选定真实服务名(本例中为MyService)为显示名称

    选定“serviceProcessInstaller1”,设置Account属性值为“LocalSystem”,LocalSystem是服务中的最高权限,其它权限相对低一些,相关内容可以查询资料;


    c#写windows服务_第3张图片
    c#写windows服务_第4张图片
    c#写windows服务_第5张图片

  4. 编译项目(重新生成)

    按 重新生成,编译文件为.exe,一个MyService.exe文件生成,位置在项目菜单下的 \bin\debug 内

  5. 安装服务
    以管理员身份启动命令窗口
    找到“InstallUtil.exe”这个文件的绝对路径和“MyService.exe”你的服务存在路径(一般在你的项目文件中/bin/debug 文件夹里面)
    安装指令:路径 InstallUtil.exe  路径 MyService.exe
    删除指令:路径 InstallUtil.exe /u  路径 MyService.exe
    图:c#写windows服务_第6张图片

    注:如果没有“InstallUtil.exe” 则需要自行百度安装

  6. 启动服务
    安装完成后,服务还需要启动。启动可以右击“我的电脑”,点击“管理”,进入找到相应的服务启动即可。

参考:https://blog.csdn.net/yongchengzhang/article/details/48438767

你可能感兴趣的:(C#)