文章作者:姜南(Slyar) 文章來源:Slyar Home (www.slyar.com) 轉載請注明,謝謝合作。
Jet的電腦可以定時開機了,但是他希望XP系統啟動后在不登陸用戶的情況下運行銳捷和電驢,拿到這個問題的時候我第一個想法就是用服務,因為大家都知道服務啟動是無視用戶登錄情況的。
簡單來說,我用SC添加了一個服務,結果失敗了,因為windows那該死的服務機制,具體原因我懶得寫,總之就是不行。最后我跑到Microsoft Support那里找到了解決方法。
Windows NT Resource Kit 提供了2個小工具可以幫助我:
Instrsrv.exe installs and removes system services from Windows NT.
Srvany.exe allows any Windows NT application to run as a service.
Instsrv.exe可以給系統安裝和刪除服務,Srvany.exe可以讓程序以服務的方式運行,你可以到我博客里的下載基地下載"Slyar_InstSrv_Srvany.rar"得到它們。下面我來說具體安裝過程。
1、將Instsrv.exe和Srvany.exe放置到某目錄下,下面用%path%代替路徑
2、打開CMD,輸入以下內容,其中ServerName為你要創建的服務名稱
%path%\instsrv ServerName %path%\srvany.exe
3、打開regedit注冊表編輯器,找到以下目錄
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<ServerName>
4、鼠標右鍵單擊<ServerName>,創建一個"項",名稱為"Parameters"
5、鼠標左鍵單擊"Parameters",在右邊點擊鼠標右鍵,創建一個"字符串值"(REG_SZ),名稱為"Application",數值數據里填寫你要執行的程序完整路徑。
6(可選)、鼠標左鍵單擊"Parameters",在右邊點擊鼠標右鍵,創建一個"字符串值"(REG_SZ),名稱為"DependOnService",數值數據里填寫該服務依存的服務名稱。不知道依存是什么的,你可以保持繼續不知道,我不解釋。
7、打開services.msc服務控制面板,找到<ServerName>,鼠標右鍵-屬性-登陸,勾選"允許服務與桌面交互"(一般你要運行的程序都是有界面的吧)。
恩,一般這樣就可以了。
原文出處:http://www.slyar.com/blog/win-instsrv-srvany-server.html
補充:程序可以啟動后,instsrv.exe可刪除,srvany.exe不能刪除(包括路徑都不能刪,不能動)
謝謝原作者,幫我解決了問題