C# 編寫windows服務
阿新 • • 發佈:2018-11-16
todo first pat ring err window str 添加 rri
一、編寫windows服務
1、VS2017 - 創建服務Myservice
2、創建好項目之後 --- >> 雙擊 Service1.cs ---- >> 出現一個設計界面 ---->> 右鍵界面 --- >> 彈出對話框選擇 ”添加安裝程序“
3、在設計界面修改 serviceProcessInstaller1的屬性 Account 為 LocalSystem (也可用代碼修改)
4、在設計界面修改 serviceInstaller1 的屬性: display 為 myfirstservice ; description 為 我的首個服務 ; StartType 為 Automatic
5、修改Service1.cs 代碼如下:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Linq; using System.ServiceProcess; using System.Text; namespace myservice { public partial class Service1 : ServiceBase { publicService1() { InitializeComponent(); } protected override void OnStart(string[] args) { // TODO: 在此處添加代碼以啟動服務。 System.IO.File.AppendAllText(@"D:\Log.txt", " Service Start :" + DateTime.Now.ToString()); } protected overridevoid OnStop() { // TODO: 在此處添加代碼以執行停止服務所需的關閉操作。 System.IO.File.AppendAllText(@"D:\Log.txt", " Service Stop :" + DateTime.Now.ToString()); } } }
6、生成解決方案,可以在項目的dubug目錄中找到 myservice.exe
二、SC命令=====安裝、開啟、配置、關閉windows服務
1、將myservice.exe放在英文目錄下,我的是 d:\myservice.exe
2、在cmd中,轉到D:並執行以下使命令進行服務安裝和啟動(這裏的myserv 是自定義的名字)
sc create myserv binPath= "d:/myservice.exe"sc config myserv start= auto //(自動) (DEMAND----手動、DISABLED----禁用) 並且start連著= ,而=的後面有一個空格 net start myserv
可以看到d盤下已生成了log.txt
3.刪除服務,執行以下代碼
sc delete myserv
C# 編寫windows服務