创建一个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:\Windows\Microsoft.NET\Framework\v4.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:\test\log.txt 文件下就可以看到如下内容:
6、卸载服务
点击卸载服务,效果如下:
再打开服务,我们将看不到之前安装的服务了。到此为止,一个简单的服务程序就完成了,希望给大家带来帮助,喜欢的话关注点赞,谢谢。
创建一个Windows服务程序与实现定时器效果的更多相关文章
- 为MongoDB创建一个Windows服务
一:选型,根据机器的操作系统类型来选择合适的版本,使用下面的命令行查询机器的操作系统版本 wmic os get osarchitecture 二:下载并安装 附上下载链接 点击安装包,我这里是把文件 ...
- C#创建一个Windows Service
Windows Service这一块并不复杂,但是注意事项太多了,网上资料也很凌乱,偶尔自己写也会丢三落四的.所以本文也就产生了,本文不会写复杂的东西,完全以基础应用的需求来写,所以不会对Window ...
- tomcat创建一个windows服务
具体步骤如下: 1.把JDK解压到C:\Program Files\Java下,Tomcat解压到D:\tomcat下 2.配置环境变量 JAVA_HOME:C:\Program Files\Java ...
- [翻译] 使用 .NET Core 3.0 创建一个 Windows 服务
原文: .NET Core Workers as Windows Services 在 .NET Core 3.0 中,我们引入了一种名为 Worker Service 的新型应用程序模板.此模板旨在 ...
- C++使用代码创建一个Windows桌面应用程序
WinMain函数 Windows应用程序的唯一程序入口. 函数原型 int WINAPI WinMain { HINSTANCE hInstancem HINSTANCE hPreInstance, ...
- Electron 从零创建一个 Windows/OS X/Linux 的桌面可执行程序
[外链图片转存失败(img-3RucrgcX-1562556984462)(http://7vzsvy.com1.z0.glb.clouddn.com/electron-1-2.png "E ...
- 创建一个Windows Service 程序
1.新建Windows项目,选择"Windows服务"类型的项目. 2.在生成的Service1.cs中代码中写你需要的代码,如下: using System; using Sys ...
- 使用Windows Service Wrapper快速创建一个Windows Service
前言 今天介绍一个小工具的使用.我们都知道Windows Service是一种特殊的应用程序,它的好处是可以一直在后台运行,相对来说,比较适合一些需要一直运行同时不需要过多用户干预的应用程序,这一类我 ...
- 创建一个Windows的NTP Server
搭建一个VMware vRealize Suite的时候遇见了不少时间同步的问题, 实验室里网络与外界隔绝, 不能使用公网的NTP服务器, 所以使用文中的方法自己搭建了一个. 蛮好用的. Creati ...
随机推荐
- 设计模式之过滤器模式——Java语言描述
过滤器模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来 实现 创建一个Person对象.Criteria 接口和实现了该接口的实体类,来过滤 Person 对象的列 ...
- HTML5将footer置于页面最底部的方法(CSS+JS)
JavaScript: <script type="text/javascript"> $(function(){ function footerPosition(){ ...
- Android之Material Dialogs详解
文章大纲 一.什么是Material Dialogs二.Material Dialogs实战三.项目源码下载 一.什么是Material Dialogs Material Dialogs是一个 ...
- Hive的原理
阅读目录 一.Hive内部表和外部表 1.Hive的create创建表的时候,选择的创建方式: - create table - create external table 2.特点: ● 在导入数据 ...
- 从Windows转向Linux(在Windows下建立Deepin、Windows10双系统)
我是19年3月转向使用Linux进行开发,没啥特别的理由,就是觉得使用Linux系统是每个程序员必须经历的吧. 选择版本 一开始,在网上了解到现在流行的Linux发行版有基于Redhat的,还有基于d ...
- 数据库MySQL(课下作业)
一.作业要求 下载附件中的world.sql.zip, 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECDB,导入world.sql,提交导入成功截 ...
- docker 备注
1.docker 安装 #安装环境为centos yum -y install docker service docker start #测试是否安装成功,可执行命令 docker run hello ...
- 为 VUE 项目添加 PWA 解决发布后刷新报错问题
为什么要给 VUE 项目添加 PWA 为什么要添加?因为不管是部署在 IIS,还是 nginx,每次应用部署后,再次访问因为旧的 js 已经不存在,所以页面访问的时候会整个报错,报错的结果就是一个白屏 ...
- Oracle和Mysql获取uuid的方法对比
场景:orm框架用mybatis,需要往数据库新增一条数据,用Oracle和mysql数据库分别需要怎么实现? mysql方法,用mysql提供的uuid函数 <insert id=" ...
- java集合常见面试题
1. Array和ArrayList的区别,什么时候更合适用Array a) Array是数组,可以容纳基本类型和对象,而ArrayList是集合,只能容纳对象 b) Array是 ...