C#創(chuàng)建Windows服務(wù)的圖文教程
1.打開(kāi)vs2019,建立Windows服務(wù)

2.打開(kāi)Service1.cs文件,寫(xiě)入代碼

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;
namespace WindowsService1
{
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
}
string filePath = "D:\\Service1.txt";
protected override void OnStart(string[] args)//服務(wù)啟動(dòng)的時(shí)候執(zhí)行
{
using (FileStream stream = new FileStream(filePath, FileMode.Append))
using (StreamWriter writer = new StreamWriter(stream))
{
writer.WriteLine($"{DateTime.Now},服務(wù)啟動(dòng)!");
}
}
protected override void OnStop()//服務(wù)停止的時(shí)候執(zhí)行
{
using (FileStream stream = new FileStream(filePath, FileMode.Append))
using (StreamWriter writer = new StreamWriter(stream))
{
writer.WriteLine($"{DateTime.Now},服務(wù)停止!");
}
}
}
}3. 回到界面上,點(diǎn)擊增加安裝程序

4.此時(shí)產(chǎn)生2個(gè)組件

5.右鍵屬性,修改Description,就是描述服務(wù)的,ServiceName是服務(wù)的名字

6.點(diǎn)擊另外一個(gè)組件,修改賬號(hào)的級(jí)別,選擇系統(tǒng)

7.修改完成后,點(diǎn)擊生成

8.打開(kāi)生成的文件

9.安裝服務(wù)。這里不能直接雙擊。
直接雙擊是這樣的

可以使用命令進(jìn)行安裝。
使用管理員運(yùn)行cmd,輸入
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
進(jìn)入文件夾后,在輸入安裝服務(wù)的命令
installutil.exe /i C:\Users\user\source\repos\WindowsService1\WindowsService1\bin\Debug\WindowsService1.exe

點(diǎn)擊回車(chē),提示安裝完成

10.此時(shí)打開(kāi)Windows服務(wù),可以看到服務(wù)已經(jīng)安裝好了

11.右鍵啟動(dòng)服務(wù)后

在D盤(pán)可以看到啟動(dòng)的日志

右鍵停止服務(wù)

在D盤(pán)可以看到停止的日志

12.卸載
卸載的時(shí)候,把i換u即可
installutil.exe /u C:\Users\user\source\repos\WindowsService1\WindowsService1\bin\Debug\WindowsService1.exe

13.卸載成功

到此這篇關(guān)于C#創(chuàng)建Windows服務(wù)的圖文教程的文章就介紹到這了,更多相關(guān)C#創(chuàng)建Windows內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 圖解如何使用C#創(chuàng)建Windows服務(wù)
- C#創(chuàng)建Windows服務(wù)與服務(wù)的安裝、卸載
- C#創(chuàng)建控制Windows服務(wù)
- C#用Topshelf創(chuàng)建Windows服務(wù)的步驟分享
- C#創(chuàng)建Windows服務(wù)的實(shí)現(xiàn)方法
- 使用C#創(chuàng)建Windows服務(wù)的實(shí)例代碼
- C#通過(guò)創(chuàng)建Windows服務(wù)啟動(dòng)程序的方法詳解
- c#創(chuàng)建windows服務(wù)入門(mén)教程實(shí)例
- c#創(chuàng)建windows服務(wù)(Windows Services)詳細(xì)步驟
- Visual Studio C#創(chuàng)建windows服務(wù)程序
相關(guān)文章
C#解決多IfElse判斷語(yǔ)句和Switch語(yǔ)句問(wèn)題的方法分享
這篇文章主要為大家介紹C#如何使用設(shè)計(jì)模式中的策略模式和委托來(lái)解決多個(gè)IfElse判斷語(yǔ)句和Switch語(yǔ)句,這種替換方式在其他語(yǔ)言也一樣可以做到,感興趣的可以了解一下2022-12-12
C#定義并實(shí)現(xiàn)單鏈表實(shí)例解析
這篇文章主要介紹了C#定義并實(shí)現(xiàn)單鏈表實(shí)例解析,有助于讀者加深對(duì)C#實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)的理解,需要的朋友可以參考下2014-07-07
Dictionary擴(kuò)展基礎(chǔ)類向字典中添加鍵和值
Dictionary<TKey, TValue> 類是常用的一個(gè)基礎(chǔ)類,但用起來(lái)有時(shí)確不是很方便。本文逐一討論,并使用擴(kuò)展方法解決2013-11-11
Unity中 ShaderGraph 實(shí)現(xiàn)超級(jí)炫酷的溶解效果入門(mén)級(jí)教程
這篇文章主要介紹了Unity中的 ShaderGraph 實(shí)現(xiàn)超級(jí)炫酷的溶解效果入門(mén)級(jí)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-07-07
C#基于共享內(nèi)存實(shí)現(xiàn)跨進(jìn)程隊(duì)列
進(jìn)程通信一般情況下比較少用,但是也有一些使用場(chǎng)景,有些做視頻傳輸?shù)乃坪鯐?huì)用多進(jìn)程來(lái)實(shí)現(xiàn),還有在子進(jìn)程中調(diào)用特定的庫(kù)來(lái)避免內(nèi)存泄漏,筆者最近也遇到了需要使用多進(jìn)程的場(chǎng)景,本文介紹了C#基于共享內(nèi)存實(shí)現(xiàn)跨進(jìn)程隊(duì)列,需要的朋友可以參考下2024-07-07

