1. 程式人生 > >C# 編寫windows服務

C# 編寫windows服務

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
    {
        public
Service1() { InitializeComponent(); } protected override void OnStart(string[] args) { // TODO: 在此處添加代碼以啟動服務。 System.IO.File.AppendAllText(@"D:\Log.txt", " Service Start :" + DateTime.Now.ToString()); } protected override
void 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服務