一懶到底——輕松注冊Exe程序為Windows系統(tǒng)服務(wù)
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
[p]一步實現(xiàn)停止->刪除->注冊->啟動的功能,包括生成注冊表文件并導(dǎo)入。[/p]
[ul] [li]腳本內(nèi)容如下:[/li][/ul][p]@echo off [br][br]::設(shè)置服務(wù)名稱 [br]set service_name=smtpsvr [br][br]::設(shè)置服務(wù)描述 [br]set service_description=1st smtp server 服務(wù) [br][br]::設(shè)置服務(wù)程序路徑 [br]set prog_path=d:\\green programs\\fstsmtp\\smtpserver.exe [br][br]::設(shè)置服務(wù)的啟動方式 auto:自動 demand:手動 disabled:禁用 [br]set strt=auto [br][br]echo easyservice 一鍵服務(wù) [br]echo =========================================================== [br]::pause [br]::======================以下部分勿隨意修改========================== [br]set s32=%windir%\system32 [br]set reg_file=easyservice.reg [br][br]net stop %service_name% 2>nul [br]copy instsrv.exe %s32% [br]copy srvany.exe %s32% [br][br]%s32%\instsrv.exe %service_name% remove 2>nul [br]%s32%\instsrv.exe %service_name% %s32%\srvany.exe >nul [br][br]::設(shè)置服務(wù)的啟動方式 auto:自動 demand:手動 disabled:禁用 [br]sc config %service_name% start= %strt% [br]sc description %service_name% "%service_description%" [br][br]echo 生成注冊表文件... [br]echo windows registry editor version 5.00 > %reg_file% [br]echo [hkey_local_machine\system\currentcontrolset\services\%service_name%\parameters] >> %reg_file% [br]echo "application"="%prog_path%" >> %reg_file% [br][br]echo 導(dǎo)入注冊表文件... [br]%reg_file% [br][br]net start %service_name% [br]echo ===========================完成============================ [br]pause[/p] [ul] [li]使用方法:[/li][/ul] [p]修改腳本中service_name、service_description、prog_path、strt這4個變量的內(nèi)容,分別設(shè)置為服務(wù)名、功能描述、程序路徑、啟動方式,保存后運行腳本,彈出是否導(dǎo)入注冊表,選是,大功告成,已在winxp及win2k下測試通過。[/p] [p]下載:[/p] [p][img]http://cpiz.com/blog/wp-content/plugins/wp-downloadmanager/images/rar.gif[/img] [b][url=http://cpiz.com/blog/?dl_id=9][color=#356aa0]一鍵服務(wù)[/color][/url][/b] (32.2 kib, 206 hits)[/p] [p]包括了instsrv.exe、srvany.exe、sc.exe三個程序,是腳本運行的基礎(chǔ)。[/p][p][upload=rar]2010429210916-2.rar[/upload][/p] 手工添加的方法介紹: 要把應(yīng)用程序添加為服務(wù),你需要兩個小軟件:Instsrv.exe和Srvany.exe。Instsrv.exe可以給系統(tǒng)安裝和刪除服務(wù),Srvany.exe可以讓程序以服務(wù)的方式運行。這兩個軟件都包含在Windows NT Resource Kit里. 把這兩個程序保存在一個方便的位置,例如C盤根目錄下。我們舉例來說明,把OE作為一個服務(wù)添加進Windows XP Professional操作系統(tǒng)中,并把這個服務(wù)命名為“Mail”。在運行中輸入“CMD”,回車,打開命令行窗口,在提示符后面直接輸入:“c:\instsrv.exe Mail c:\srvany.exe”然后回車,其中的“c:\instsrv.exe”和“c:\srvany.exe”表示這兩個程序保存的位置,而Mail則是你想添加的服務(wù)名稱。 運行Regedit打開注冊表編輯器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下,找到剛才添加的Mail,點擊右鍵,新建一個鍵,命名為“Parameters”,點擊新建的Parameters,并再次新建一個名稱為“Application”的子鍵,數(shù)據(jù)類型為“REG_SZ”,數(shù)值為希望作為服務(wù)運行的程序的所在位置,如果你的Windows系統(tǒng)安裝在C盤下,那么OE的程序位置就是C:\Program Files\Outlook Express\msimn.exe ,把這個路徑添入數(shù)值中。到現(xiàn)在,這個服務(wù)已經(jīng)成功的添加并且設(shè)置好了。如果你希望做的更加專業(yè),可以在Mail服務(wù)下建立一個名為Description的子鍵,數(shù)據(jù)類型同樣為REG_SZ,數(shù)值可以寫一些你對這個服務(wù)的描述,這個我們在后面可以看到。 接下來需要對服務(wù)做一些額外的設(shè)置,在運行中輸入“Services.msc”并回車,在列表中找到我們剛添加的Mail服務(wù),雙擊打開,來做詳細的設(shè)置。在“General”選項卡上,我們需要設(shè)置這個服務(wù)的運行方式,在圖二中可以看見,作為一個服務(wù),有“自動(Automatic)”,“手動(Manual)”和“禁止(Disabled)”三種啟動類型,按照需要,我們一般設(shè)置成自動就可以了。而在“Logon”選項卡下可以設(shè)置以什么身份運行這個服務(wù),一般可以不用理會,按照默認的設(shè)置。“Recovery”選項卡下則是進行恢復(fù)設(shè)置的,你可以指定,在服務(wù)第一次,第二次和第三次出錯之后分別采取什么措施。“Dependencies”則顯示了服務(wù)之間的依存關(guān)系,可以讓你察看這個服務(wù)的運行依賴哪些其它服務(wù),以及還有什么服務(wù)依賴于這個服務(wù)。這后面幾個對我們一般用戶沒有什么意義。經(jīng)過這些設(shè)置,你的服務(wù)已經(jīng)完全可以正常工作了。 注銷一下看看。為了讓你看清除,我們先打開OE,這時在任務(wù)管理器里,有兩個msimn進程,用戶名為“.com.cn”的是我們打開的OE,而用戶名為“SYSTEM”的就是我們添加的服務(wù) 如果你玩夠了,不想再運行這個服務(wù),可以直接禁止它在啟動的時候運行,或者使用Instsrv.exe程序刪除。方法是在命令行下輸入“c:\instsrv.exe Mail remove”,然后回車就可以了。需要注意的是Instsrv.exe這個程序也可以刪除某些系統(tǒng)服務(wù),所以使用的時候一定要小心,對于系統(tǒng)服務(wù),安全起見千萬不要刪除,哪怕你覺得它對你沒有用。 如何將應(yīng)用程序注冊為系統(tǒng)服務(wù)默認分類 2009-09-24 21:47:03 閱讀63 評論0 字號:大中小 . 轉(zhuǎn)至:----下一站在哪 如何將應(yīng)用程序注冊為系統(tǒng)服務(wù) 我的電腦壞了 2007-10-24 15:46 閱讀18 評論0 字號: 大大 中中 小小 一、應(yīng)用程序具有服務(wù)功能(能響應(yīng)服務(wù)控制臺的查詢請求) 第一種方法:使用instsrv.exe(windows 2003資源工具包帶有),指令格式:instsrv 服務(wù)顯示名 應(yīng)用程序路徑 第二種方法:在注冊表中手工添加,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\下新建一個項,項名為欲顯示的服務(wù)名(也可以為任意字符,僅供識別),在這個項下新建如下鍵值: "DisplayName"=(字符串值)服務(wù)顯示名 "Description"=(字符串值)服務(wù)描述 "ImagePath"=(可擴充字符串值)應(yīng)用程序路徑 "ObjectName"=(字符串值)"LocalSystem" "Type"=(dword值)10(16進制) "Start"=(dword值)2(16進制) "ErrorControl"=(dword值)1(16進制) 二、應(yīng)用程序不具有服務(wù)功能(不能響應(yīng)服務(wù)控制臺的查詢請求) 大多數(shù)應(yīng)用程序都不具有服務(wù)功能,這樣按照上述方法加進去的應(yīng)用程序在服務(wù)剛啟動時能夠啟動,但一當(dāng)服務(wù)控制臺無法接收到應(yīng)用程序的反饋信息,便會終止程序,因此要使用srvany.exe(同樣,在win2003資源工具包中) 1、instsrv.exe 服務(wù)顯示名 srvany.exe 2、在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\下,找到剛添加的服務(wù)名,在其下新建項Parameters,再在其下新建字符串值,名Application,值為應(yīng)用程序路徑。 3、在服務(wù)中,找到剛添加的服務(wù),在屬性-登錄中,勾選“允許服務(wù)與桌面交互”。 該文章在 2010/4/29 21:31:22 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |