思路是將程序做爲服務運行。
方法一:
創建服務:sc create “服務名" binpath=空格"X:\*.*(路徑)"
刪除服務:sc delete "服務名"
開啓服務:net start "服務名"
關閉服務:net stop "服務名"
如:sc create "123" binpath= "C:\1.exe" 這就創建了一個名爲"123"的服務路徑爲"C:\1.exe。開啓它則運行 net start net start "123“ 要關閉也同理。刪除則運行 sc delete “123”。
方法二:
使用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>,鼠標右鍵-屬性-登陸,勾選"允許服務與桌面交互"(一般你要運行的程序都是有界面的吧)。
恩,一般這樣就可以了。
補充:程序可以啓動後,instsrv.exe可刪除,srvany.exe不能刪除(包括路徑都不能刪,不能動)
謝謝原作者,幫我解決了問題