如何在VS2013中新建WindowsService定时任务

http://jingyan.baidu.com/article/cd4c2979e9330d756f6e6070.html

很多人都想做定时任务,但是没有不知道如何下手,现在就用WindowsService做一个定时任务

工具/原料

  • VS2013
  • 命令提示符

定时任务代码

  1. 1

    打开VS2013,选择文件->新建->项目。

    如何在VS2013中新建WindowsService定时任务
  2. 2

    在项目中找到【windows服务】项目,重新命名后点击确定。

    如何在VS2013中新建WindowsService定时任务
  3. 3

    在service1设计器中点击右键,选择查看代码,进入代码页面。

    如何在VS2013中新建WindowsService定时任务
  4. 4

    在代码编辑器中添加【OnStart】服务启动方法。

    如何在VS2013中新建WindowsService定时任务
  5. 5

    继续在代码编辑器中添加【ChkSrv】方法。

    如何在VS2013中新建WindowsService定时任务
  6. 6

    继续在代码编辑器中添加你需要定时执行的任务方法。

    如何在VS2013中新建WindowsService定时任务
  7. 7

    继续在代码编辑器中添加【WriteLog】书写日志的方法。

    如何在VS2013中新建WindowsService定时任务
  8. 8

    继续在代码编辑器中添加【OnStop】服务停止方法。

    如何在VS2013中新建WindowsService定时任务
    END

添加安装程序

  1.  

    在service1中的设计器中点击右键,选择【添加安装程序】。

    如何在VS2013中新建WindowsService定时任务
  2.  

    在安装程序中选中【serviceProcessInstaller1】,查看其属性,将【Account】值改为【LocalSystem】。

    如何在VS2013中新建WindowsService定时任务
  3.  

    在安装程序中选中【serviceInstaller1】,查看其属性,将【ServiceName】值改为你想要的服务名称。

    如何在VS2013中新建WindowsService定时任务
    END

启动Windows服务

  1.  

    选中项目,右键,生成项目。

    如何在VS2013中新建WindowsService定时任务
  2.  

    然后在debug目录中找到生成的程序。

    如何在VS2013中新建WindowsService定时任务
  3.  

    在目录【C:WindowsMicrosoft.NETFramework】中找到程序对应的.net版本,然后在该版本的目录中找到【InstallUtil.exe】程序,并将该程序拷贝到我们项目中的Debug目录下。

    如何在VS2013中新建WindowsService定时任务
    如何在VS2013中新建WindowsService定时任务
  4.  

    找到命令提示符,以管理员身份运行。然后在dos里面输入命令【D:StatisticsWindowsServiceTestWindowsServiceTestinDebugWindowsServiceTest.exe D:StatisticsWindowsServiceTestWindowsServiceTestinDebugInstallUtil.exe】,当然,这里需要将目录换成你自己程序所在的目录。

    如何在VS2013中新建WindowsService定时任务
  5.  

    回车后,Windows服务就已经安装好了。在任务管理器的服务中就可以找到当初命名的服务名称的服务了。选中该服务点击右键,启动服务就完成了。程序会在你代码设定的每天八点整做你设定的任务。

    如何在VS2013中新建WindowsService定时任务
    END

注意事项

  • 卸载服务命令:【D:StatisticsWindowsServiceTestWindowsServiceTestinDebugWindowsServiceTest.exe -u D:StatisticsWindowsServiceTestWindowsServiceTestinDebugInstallUtil.exe】
  • 一定要选择你程序所在的.net版本
原文地址:https://www.cnblogs.com/ruiati/p/4447649.html