繼續閱讀

2008-09-02

將程式當成Windows系統服務啟動

一、 前置準備
1. 必要工具:
instsrv.exe、srvany.exe(可從 " Windows Server 2003 Resource Kit Tools " 取得)
2. 下載位置:
http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee- b18c4790cffd&displaylang=en
3. 說明:
instsrv.exe:將指定的程式安裝為系統服務
srvany.exe:讓原本不能當作系統服務的程式以系統服務的方式來運作
4. 語法:
安裝成系統服務: instsrv <服務名稱> <該執行檔完整路徑>
從系統服務移除: instsrv <服務名稱> remove #需先停用該服務

二、 安裝成系統服務
1. 假設我們要將一名為"ABC.exe"的執行檔裝成系統服務,且其路徑為"C:\software\ABC.exe"
2. 將"instsrv.exe"和"srvany.exe"複製到c:\windows
3. 進入" 命令提示字元" (開始 '執行 '輸入"cmd")
4. 在命令提示字元中輸入

instsrv ABC(自訂的服務名稱) C:\windows\srvany.exe

5. 執行regedit,到

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ABC

6. 在ABC上按右鍵->開新檔案->機碼->鍵入Parameters
7. 在 Parameters 機碼下,新增字串:
第一個字串名稱取為Application,然後改Application的值為應用程序的路徑及文件名
(C:\software\ABC.exe)
第二個字串名稱取為AppParameters,改AppParameters的值為應用程序的路徑
(C:\software)
8. 到控制台->系統管理工具->服務,選擇此服務的"登入"項目,勾選與桌面互動
(使圖示出現在工具列)
9. 最後再啟動此服務,這樣就ok啦

三、 從系統服務移除
1. 先將"ScktSrvr"服務停用
2. 進入CMD,並輸入下列命令即可

instsrv ABC remove

四、 注意事項
1. 程式在程式集 ' 啟動 有捷徑,請先行刪除,否則會重複啟動2次
(開機服務一次,使用者登入又一次))
2. 安裝成系統服務的步驟4中,ABC是自訂的服務名稱,不需與程式檔名相同