使用C 建立windows服務程式

2022-03-14 16:48:49 字數 2239 閱讀 5197

建立windows服務專案

一、建立服務

1、檔案-》新建-》專案-》windows桌面-》windows服務,修改你要的專案名稱。我這不改名,仍叫windowsservice1,確定。

2、其中的program.cs檔案是入口,service1.cs是服務檔案,所有的邏輯都在這。service1.cs包含兩部分,一部分是designer,可以在這裡面新增各種元件。一部分是後台檔案,裡面可以寫一些邏輯,預設包含3個方法:建構函式、onstart和onstop,還可以新增onpause和oncontinue方法。

3、修改service1.cs檔案如下(可以自行新增一些邏輯**)

namespacewindowsservice1

protected override void onstart(string args)

protected override voidonstop()}}

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檔案,就完成服務註冊了。

或者【首先,點「開始-執行-輸入『cmd』」,然後輸入「cd c:\windows\microsoft.net\framework\v4.0.30319」切換到installutil.exe的路徑,

其次,輸入命令installutil +windows服務的exe絕對路徑(這個可以通過將exe拖動到command窗體裡生成)

最後,按回車,此時應該有成功提示。】

在我的電腦上右鍵選擇「管理」,開啟「服務和應用程式」下的「服務」,就能看到我們註冊的服務了。

三、解除安裝服務

在該目錄新建「解除安裝.bat」檔案,使用記事本開啟,輸入如下命令:

%~dp0installutil /u %~dp0windowsservice1.exe

pause

同樣pause也要換行。

如果在啟動過程中遇到如下問題,請將整個專案加上everyone許可權。

或者【installutil.exe /u  f:\debug\datefda5.exe】

四、除錯

在vs2013中選擇「除錯」-「附加到程序」,如下:

這樣就可以除錯了。

使用C 建立windows服務

前言 說幹就幹!開發環境 作業系統 windows 10 x64 開發環境 vs2017 程式語言 c net版本 net framework 4.5 目標平台 x86 windows service簡介 乙個windows服務程式是在windows作業系統下能完成特定功能的可執行的應用程式。win...

C 建立Windows服務

using system using system.collections.generic using system.componentmodel using system.data using system.diagnostics using system.linq using system.se...

windows服務建立

以下是安裝命令 啟動服務命令 停止服務命令 解除安裝服務命令 安裝命令 c windowservice installutil.exe c windowservice organizclientsocketservice.exe 啟動服務命令 net start 搜才organiz客戶端資料同步服務...