• 创建一个Windows服务程序与实现定时器效果


    1、创建一个Windows服务程序

    一、   新建Window服务项目

     

    二、   添加安装程序

     

     

    三、   配置服务属性

     

    四、   编写定时器代码

     

    publicpartialclassService1 : ServiceBase

    {

           publicService1()

           {

                InitializeComponent();

           }

           protected override void OnStart(string[] args)

           {

                LogHelper.WriteLog("服务开始", LogType.remark);

                System.Timers.Timer timer = new System.Timers.Timer();

                timer.Elapsed += new System.Timers.ElapsedEventHandler(TimedEvent);

                timer.Interval = 5000; //设置多久执行一次

                timer.Enabled = true;

           }

           protected override void OnStop()

           {

                LogHelper.WriteLog("服务停止", LogType.remark);

           }

           //定时执行事件

           privatevoid TimedEvent(object sender,System.Timers.ElapsedEventArgs e)

           {

                //编写要执行的代码

           }

    }

     五、安装和卸载服务

    然后重新生成项目,生成成功!到此,我们只是完成了服务的编写,接下来是写服务的安装、卸载文件了。

    编写安装文件
    点击项目右键-打开资源文件。从 C:WindowsMicrosoft.NETFrameworkv4.0.30319 找到 InstallUtil.exe 和 InstallUtil 文件,并把这两个文件拷备到项目dubug文件夹下,如下所示:

     

     

     分别添加两个文件: Installer.bat 和 UnInstaller.bat (可通过文本编辑器来.txt文件,再把.txt 后缀修改为 .bat 即可,如果你电脑不显示文件后缀,自行百度显示文件后缀方法,这里我把 Installer.bat 和 UnInstaller.bat 取名为 安装服务.bat 和 卸载服务.bat)它们分别表示:服务的安装和服务的卸载,其中的内容分别是:

    安装:

    %~dp0InstallUtil.exe %~dp0FristService.exe
    pause
    卸载:

    %~dp0InstallUtil /u %~dp0FristService.exe
    pause
    注: 开头要留 %~dp0  符号,表示将目录更改为当前目录,如果不加,可能会出错。

    完成以上工作即可完成服务程序编写了,如下所示:

     

    5、安装服务
    点击安装服务,以管理员身份运行,安装成功如下所示:

     

    此时,在电脑开始面板搜索 服务 ,打开电脑服务,如下所示:

     

     右键服务,开启该服务,稍等几秒钟之后在 d: estlog.txt 文件下就可以看到如下内容:

     

    6、卸载服务
    点击卸载服务,效果如下:

     

     再打开服务,我们将看不到之前安装的服务了。到此为止,一个简单的服务程序就完成了,希望给大家带来帮助,喜欢的话关注点赞,谢谢。

  • 相关阅读:
    假如时光倒流,我会这么学习Java
    一位资深程序员大牛给予Java初学者的学习路线建议
    Java基础部分全套教程.
    假如时光倒流,我会这么学习Java
    Window Location对象
    Window Screen对象
    Window
    easyui datagrid 清除缓存方法
    easyui tree扩展tree方法获取目标节点的一级子节点
    JavaScript 对象
  • 原文地址:https://www.cnblogs.com/zoujinhua/p/10647669.html
Copyright © 2020-2023  润新知