分享免费的编程资源和教程

网站首页 > 技术教程 正文

彻底搞懂如何用c#编写windows服务

goqiw 2025-02-27 15:10:56 技术教程 18 ℃ 0 评论

先说一小点废话:

有一个项目是写一款软件的守护程序,后来决定用windows服务来解决,以前没有写过这类程序,于是上网搜索了一下,发现好多教程要么是抄的,要么是有错误,最重要的是没有把关键的地方说清楚,所以我决定研究清楚了以后详细地写一个教程,把这个东西彻底讲清楚,也是给自己留下一个记录。

现在预想分2步来解决这个问题

1、编写一个最简单的windows服务,并且能安装,能卸载

2、做一个适用的应用例子(因为网上好多教程就是说如何编写,并没有使用的例子,对好多初学者相当不友好)


今天先来解决第1个问题:编写一个简单的windows服务,并且安装好

打开VS,建立一个windows服务项目,名称我起了个“A_Fw”

这里我用的VS版本早了点,但其实不影响,界面大概都差不多

双击Service1.cs,在设计器中右键选择“添加安装程序”

会出现两个对象

右击serviceInstaller1,选择属性

这里我把服务名前面加了A_,一会安装好了容易找到

再右击serviceProcessInstaller1击,选择属性

点击“启动”出现下面的对话框,说明没有错误,OK了。

到这,一个简单的windows服务程序已经写好了,但是上面的对话框明确地告诉我们,这个服务是不能这样安装滴,而是需要使用installutil.exe这么个东西。


可以在电脑中搜索一下这个文件,懒的话可以直接在C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe这个目录找到。

A_Fw.exe可以在项目bin目录下找到,双击运行它一样会出现上面的对话框。

将这两个文件复制到同一文件夹下,我是放到了G:/x目录下

打开cmd,将位置切换到G:/x,并运行以下命令:installutil.exe A_Fw.exe

打开系统服务窗口,会发现在这个服务已经安装好了。

如果要卸载它,只需要再运行命令 installutil.ex -u A_Fw.exe 即可。

到这里(其实基本啥也没干),一个简单的windows服务就写好了(当然它现在什么也没干),我今天研究一下,明天再来讨论如何应用它。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表