背景
最近有個(gè)需求,需要實(shí)現(xiàn)將任意exe安裝成window service
。
Windows服務(wù)是指Windows操作系統(tǒng)中的一種運(yùn)行在后臺(tái)的計(jì)算機(jī)程序,類(lèi)似于Unix守護(hù)進(jìn)程。
實(shí)現(xiàn)效果
1、啟動(dòng)Exe。
2、需要輸入3個(gè)地方:
服務(wù)名稱(chēng),這里輸入了test
選擇要轉(zhuǎn)換成服務(wù)的執(zhí)行程序路徑
如果有參數(shù),則輸入相關(guān)參數(shù)
3、點(diǎn)擊安裝,即可。
4、效果如下,可以看到服務(wù)已經(jīng)安裝。
5、點(diǎn)擊卸載按鈕,即可刪除服務(wù)。
實(shí)現(xiàn)原理
其實(shí)很簡(jiǎn)單,基于Instsrv.exe
和srvany.exe
實(shí)現(xiàn)。
打開(kāi)注冊(cè)表,能看到其寫(xiě)入的內(nèi)容。
分解動(dòng)作,以下步驟進(jìn)行操作:
下載Instsrv.exe和srvany.exe:
Instsrv.exe
和srvany.exe
是Windows Resource Kit工具中的一部分,你可以從Microsoft官方網(wǎng)站下載并安裝Windows Resource Kit工具包。
使用Instsrv.exe安裝服務(wù):
將你的exe文件和srvany.exe
放在一個(gè)目錄下,比如C:\\YourService
.
打開(kāi)命令提示符(以管理員權(quán)限運(yùn)行)。
使用以下命令來(lái)安裝服務(wù):
instsrv YourServiceName "C:\\YourService\\srvany.exe"
其中,YourServiceName
是你要為服務(wù)指定的名字,C:\\YourService\\srvany.exe
是srvany.exe的路徑。
配置srvany服務(wù):
使用注冊(cè)表編輯器(regedit)打開(kāi)注冊(cè)表。
導(dǎo)航到HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\YourServiceName\\Parameters
。
在Parameters
鍵下創(chuàng)建一個(gè)新的字符串值,命名為Application
,并將其值設(shè)置為你的exe文件的完整路徑,比如C:\\YourService\\your_exe_file.exe
。
可以在Parameters
鍵下創(chuàng)建其他參數(shù),比如AppDirectory
指定工作目錄等。
啟動(dòng)和管理服務(wù):
通過(guò)以上步驟,你就可以使用Instsrv.exe
和srvany.exe
將一個(gè)exe文件安裝為Windows服務(wù)。
提供一個(gè)完整的執(zhí)行包
百度網(wǎng)盤(pán)鏈接: https://pan.baidu.com/s/1Djgkhc1MJ_K6U6dVXy3mMA?pwd=ja2q
該文章在 2024/3/29 23:26:08 編輯過(guò)