建立一個Windows的背景程式

可在以下路徑查詢到所建立的Service

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

z1
點選serviceInstaller1做設定:

Displayname:服務要顯示的名稱   

Description:描述

ServiceName:服務的唯一名稱

StartType:啟動方式,預設為Manual(手動),這邊改為Automatic(自動)

DelayedAutoStart:開機之後是否延遲啟動

z2  
點選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

z3

創作者介紹
創作者 隨手筆記 的頭像
芭樂養樂多

隨手筆記

芭樂養樂多 發表在 痞客邦 留言(0) 人氣( 187 )