分享程式代碼相關筆記
目前文章總數:157 篇
最後更新:2024年 12月 07日
STEP 1: 建立C# “Windows 服務”的專案
STEP 2: 開啟專案中的Service1.cs 撰寫以下代碼
OnStart: 函式是當服務啟動時執行的動作
OnStop: 函式是當服務停止時執行的動作
建立Timer的事件
private static void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e)
{
using (StreamWriter sw = new StreamWriter("C:\\123.txt"))
{
sw.WriteLine(DateTime.Now.ToString("yyyy/mm/dd HH:MM:ss"));
}
}
建立Timer 每隔5000ms 執行一次動作,動作是由Elapsed 指向OnTimedEvent函式。
private Timer tm = new Timer();
protected override void OnStart(string[] args)
{
tm.Interval = 5000;
tm.Elapsed += OnTimedEvent;
tm.Start();
}
完整程式碼如下:
using System;
using System.IO;
using System.ServiceProcess;
using System.Timers;
namespace WindowsService1
{
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
}
private Timer tm = new Timer();
protected override void OnStart(string[] args)
{
tm.Interval = 5000;
tm.Elapsed += OnTimedEvent;
tm.Start();
}
private static void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e)
{
using (StreamWriter sw = new StreamWriter("C:\\123.txt"))
{
sw.WriteLine(DateTime.Now.ToString("yyyy/mm/dd HH:MM:ss"));
}
}
protected override void OnStop()
{
tm.Stop();
tm.Dispose();
}
}
}
STEP 3:開啟Windows CommandLine 指令,要用管理者權限,輸入以下指令,進行安裝
sc create “新建的服務名稱” binpath=”.exe檔案的位置”
sc create TestService binPath="C:\Users\cap88\Desktop\WindowsService1\bin\Debug\WindowsService1.exe"
STEP 4-1: 安裝完成後,啟動Windows的服務,可從工作管理開啟服務
STEP 4-2: 可以看到剛剛安裝完成的服務
STEP 5: 對其按滑鼠右鍵 -> 啟動
STEP 6: 啟動成功狀態會為 “執行中”
STEP 7: 確認我們檔案是否在 C:\ 中有出現123.txt 並且每五秒更新時間,有表示程式已經服務化在背景工作