建立一個Windows的背景程式
可在以下路徑查詢到所建立的Service
電腦(右鍵) -> 服務與應用程式 -> 服務 建立程式過程: 新增專案 -> 建立Windows Service -> Service1.cs在Design模式下點click here to switch code view -> 回到Service1.cs的Design模式右鍵選 Add Installer

點選serviceInstaller1做設定:
Displayname:服務要顯示的名稱
Description:描述
ServiceName:服務的唯一名稱
StartType:啟動方式,預設為Manual(手動),這邊改為Automatic(自動)
DelayedAutoStart:開機之後是否延遲啟動
點選serviceProcessInstaller1做設定:
Account:設定服務的帳號與權限,LocalSystem為最大權限
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;
using System.Timers;
using System.IO;
namespace MyService1
{
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
Timer MyTimer = new Timer();
MyTimer.Elapsed += new ElapsedEventHandler(MyTimer_Elapsed);
MyTimer.Interval = 10 * 1000;
MyTimer.Start();
}
void MyTimer_Elapsed(object sendor, ElapsedEventArgs e)
{
string SaveDate = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString();
using (System.IO.FileStream ds = new System.IO.FileStream("d:\\test\\er" + SaveDate + ".log", System.IO.FileMode.Append))//寫入error\er200979.log
{
using (System.IO.StreamWriter sw = new System.IO.StreamWriter(ds, Encoding.Default))
{
StringBuilder builder = new StringBuilder();
builder.Append(DateTime.Now.ToString());
sw.WriteLine(builder);
sw.Flush();
sw.Close();
}
ds.Close();
}
}
protected override void OnStop()
{
}
}
}
安裝指令:
InstallUtil MyService1.exe
解除安裝指令
InstallUtil /u MyService1.exe
查詢Service狀態
sc query serviceName
啟動Service
sc start serviceName
installutil.exe檔案在C:\Windows\Microsoft.NET\Framework
根據不同的.net Framework版本用不同的installutil.exe

請先 登入 以發表留言。