VS2013創建Windows服務


一、創建服務

1、文件-》新建-》項目-》windows桌面-》windows服務,修改你要的項目名稱。我這不改名,仍叫WindowsService1,確定。

2、其中的Program.cs文件是入口,Service1.cs是服務文件,所有的邏輯都在這。Service1.cs包含兩部分,一部分是Designer,可以在這里面添加各種組件。一部分是后台文件,里面可以寫一些邏輯,默認包含3個方法:構造函數、OnStart和OnStop,還可以添加OnPause和OnContinue方法。

3、修改Service1.cs文件如下(可以自行添加一些邏輯代碼)

namespace WindowsService1
{
    public partial class Service1 : ServiceBase
    {
        public Service1()
        {
            InitializeComponent();
            base.ServiceName = "KangryTest"; //設置服務名稱,與后面的安裝服務名稱要一致 
        }

        protected override void OnStart(string[] args)
        {
            //服務啟動時相關代碼。
        }

        protected override void OnStop()
        {
            //服務關閉時相關代碼。
        }
    }
}

4、雙擊Service1.cs文件,進入設計頁面,對着空白處右鍵-》添加安裝器。

5、在安裝器的設計界面,出現兩個組件。點擊serviceProcessInstaller1,在右下角的屬性欄中,將Account修改為LocalSystem

 

6、選中ServiceInstaller1,右下角的屬性框中,將ServiceName修改成第3步的ServiceName,其他自行選擇。DelayedAutoStart表示開機后是否延遲啟動。Description表示服務的描述,DisplayName表示服務顯示名稱。ServicesDependedOn表示依賴的服務項。StartType表示啟動類型,分為自動啟動,手動啟動和禁用。

二、安裝服務

選中項目右鍵選擇“生成”,生成exe文件;

然后將從C:\Windows\Microsoft.NET\Framework\v4.0.30319中拷貝installutil.exe文件到生成目錄(bin/Debug目的使installutil.exe和dp0WindowsService1.exe在同一級目錄)下。在該目錄新建“安裝.bat”文件,使用記事本打開,輸入如下命令:

%~dp0InstallUtil.exe %~dp0WindowsService1.exe
pause

注意前每個命令前要加一個%~dp0,表示將目錄更改為當前目錄。倘若不加,可能會出錯。pause 一定要換行,否則報錯。

最后雙擊安裝.bat文件,就完成服務注冊了。

在我的電腦上右鍵選擇“管理”,打開“服務和應用程序”下的“服務”,就能看到我們注冊的服務了。

三、卸載服務

在該目錄新建“卸載.bat”文件,使用記事本打開,輸入如下命令:

%~dp0InstallUtil /u %~dp0WindowsService1.exe

pause

同樣pause也要換行。

如果在啟動過程中遇到如下問題,請將整個項目加上EVERYONE權限。

四、調試

在VS2013中選擇“調試”-“附加到進程”,如下:

這樣就可以調試了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM