c 開發windows服務

2022-01-13 14:01:15 字數 2992 閱讀 6170

1.首先新增乙個windows服務程式

2.在  protected override void onstart(string args)中加入我們的業務邏輯**

3.在我們的gateservice中的設計頁面,新增安裝程式

4.配置安裝程式serviceprocessinstaller1和serviceinstaller1

serviceinstaller1中 starttype設定為manual,servicename設定為我們的服務名

serviceprocessinstaller1 中設定服務型別,account設定為localservice

---------------------以上我們的服務就開發完成了,但是服務不能直接啟動,我們需要乙個應用程式來啟動我們的服務

1.建立乙個winform應用程式來啟動服務

2.ui頁面設計四個按鈕:安裝、啟動、停止、解除安裝

3.對我們的服務進行引用

4.winform**:

using

system;

using

system.collections;

using

system.collections.generic;

using

system.componentmodel;

using

system.configuration.install;

using

system.data;

using

system.drawing;

using

system.linq;

using

system.serviceprocess;

using

system.text;

using

system.threading.tasks;

using

system.windows.forms;

namespace

gateserviceclientmanager

private

void btnset_click(object

sender, eventargs e)

));}

private

void btnstart_click(object

sender, eventargs e)

));}

private

void btnstop_click(object

sender, eventargs e)

));}

private

void btnunset_click(object

sender, eventargs e)

}));

}//判斷服務是否存在

private

bool isserviceexisted(string

servicename)

}return

false

; }

//安裝服務

private

void installservice(string

servicefilepath)

}//解除安裝服務

private

void uninstallservice(string

servicefilepath)

}//啟動服務

private

void servicestart(string

servicename)}}

//停止服務

private

void servicestop(string

servicename)}}

}}

以上這樣我們就可以啟動winform程式來開啟我們的服務啦

遇到的問題:

1.如果需要在gateservicemanager(也就是我們的服務)加入配置檔案的資訊

比如:

2.如果用winform程式開啟服務時,出現:其他資訊: 無法啟動計算機「.」上的服務 zjservice。那一定是你的服務**寫的有問題。不用懷疑直接去改就好了

--------------------關於服務除錯

首先我們要把我們的服務啟動

2.用vs把服務新增到程序中,進行除錯

找到我們的服務,然後就可以除錯了

注意:在除錯onstart時,一定要加乙個延遲thread.sleep(30000); ,要不然總是除錯不到。真的有點坑!!!

至此,你就掌握了如何開發windows服務啦~

c 開發windows服務

摘自 微軟的專案模板能很好的支援windows服務開發,如c 的windows服務專案 c 開發的話,也不難,使用一些api就能實現,下附 cpp view plain copy include stdafx.h include windows.h define service name srv d...

C 開發windows服務

windows下無法像linux那樣直接執行nohup等命令執行後台程式,只能呼叫相應api做成服務。服務可以在沒有任何使用者登入計算機的情況下執行。c 建立windows 服務比較方便,直接派生 system.serviceprocess.servicebase,但是只支援windows xp。1...

windows服務開發

學然後知不足 教然後知困。沒做過windows service開發時,感覺很難,無從下手。再網看了些例子,加上自己的理解,寫下開發步驟。新建windows service 新增服務,發表後將再自己的電腦的 服務管理 檢視到 新增服務安裝程式 這是vs給提供的方便操作 可以發表多個服務。右擊,點選ad...