1. 程式人生 > 實用技巧 >軟體自定義服務方法

軟體自定義服務方法

目的:由於某些軟體由於種種原因沒有做成系統服務形式啟動,必須以登入使用者手動啟動方式啟動,使用者登出軟體關閉,以下方法將軟體安裝成系統服務,並用“允許服務與桌面互動”顯示軟體介面,便於操作

環境工具:

Windows Server 2003 Resource Kit Tools中的instsrv.exe和srvany.exe

Instsrv.exe可以給系統安裝和刪除服務, Srvany.exe可以讓程式以服務的方式執行

下載地址

http://www.microsoft.com/en-us/download/details.aspx?id=17657

步驟

1.nstsrv.exe和srvany.exe拷貝c:\WINDOWS\System32\下

2.在dos下執行如下命令,在系統服務新增服務

c:\WINDOWS\System32\instsrv.exe Notetest c:\WINDOWS\System32\srvany.exe

clip_p_w_picpath002

3.開啟登錄檔HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\自定義服務名稱,Enum可以還不會顯示(不用管它),Parameters是下一步新增的,這裡可加入伺服器描述Description的描述

clip_p_w_picpath004

4.新增Parameters項,有軟體程式的位置,可以用以下存為.reg,匯入,先備份登錄檔

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Notetest\Parameters]

"Application"="C:\\WINDOWS\\system32\\notepad.exe"

"AppDirectory"="C:\\WINDOWS\\system32\\"

"AppParameters"=""

"Application"="值為你要作為服務執行的程式地址"

"AppDirectory"="值為你要作為服務執行的程式所在資料夾路徑"

"AppParameters"="值為你要作為服務執行的程式啟動所需要的引數"

clip_p_w_picpath006

5.此時你啟動服務,可以看到notepad的(system)程序和一個srvany的程序

clip_p_w_picpath007

6. “允許服務與桌面互動”設定

服務à右擊自定義服務à登入標籤à勾選“允許服務與桌面互動”

clip_p_w_picpath008

此時重啟服務,你會發現會自動彈出一個記事本視窗

clip_p_w_picpath010

問題與解決

1. 啟動服務彈出1053錯誤?

我這裡遇到了,因為把登錄檔“ImagePath”設定成我的軟體的位置,這裡應是srvany的位置

clip_p_w_picpath012

2.允許服務與桌面互動設定不生效,不彈出軟體的介面?

因為win2003必須以控制檯console登陸

參考http://q.cnblogs.com/q/10111/

如果還是不能顯示,請參如下我是沒用到如下方法http://wenku.baidu.com/view/b0cb59b265ce0508763213b2.html

參考:

http://wenku.baidu.com/view/afe0e0e29b89680203d8257b.html

http://wangye.org/blog/archives/42/

轉載於:https://blog.51cto.com/wonitazansa/1047028