熱點推薦:
您现在的位置: 電腦知識網 >> 操作系統 >> windows xp >> 正文

改變Windows服務的啟動順序

2013-11-11 11:26:19  來源: windows xp 

  要改變Windows服務的啟動順序,只要修改Windows的注冊表就可 以了。任何Windows服務的注冊信息可以在注冊表的HKEY_LOCAL_MACHINE\
SYSTEM\CurrentControlSet\Services\<Service Name>\鍵下找到。下面就介紹幾個與服務啟動順序相關的服務的值:

  Group值:一個REG_SZ類型的值。它用來描述服務屬於那一個服務組。如果服務沒有這一項,那麼它不屬於任何一個服務組,系統則會默認的將其在所有的服務啟動後加載。

  Tag值:一個REG_DWORD類型的值。它用來描述服務的標識。每一個在服務組中的服務都會被分配一個唯一的標識。注冊表通過對服務組的服務標識的排列來安排,同一服務組中的個服務的加載先後順序。

  那麼,如何改變服務的啟動順序,現在就被分為了兩個步驟,一是:改變服務組的啟動順序。二是:改變服務組中各服務的啟動順序。

  先來介紹第一步:注冊表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder鍵的List值中保存了表示服務組啟動順序的信息。每一個服務組都是一個字符串,通過字符串在值中排列的先後位置表示服務組被加載的先後順序。要想改變服務組的加載順序,只要改變它們的位置就可以了。方法:用Regedit32.exe(不是,Regedit.exe,因為,在這裡雙擊List值後,只能看到十六進制的數據,不便於修改。TW.WinGWIt.cOm)打開該值,這是一個字符編輯環境,改變裡面的組的先後順序,然後確定改動。服務組的啟動順序就搞定了。

  第二步:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GroupOrderList鍵下有各服務組中各服務啟動順序的信息。每個服務組信息都被保存為了一個REG_BINARY類型的值,如:Pointer Port 服務組的值為030000000200000001000000030000000。下面為了方便觀察,我們把它處理為03000000 02000000 01000000 030000000 它表示Pointer Port 服務組有三個服務,TAG值為2的服務先加載,然後是TAG值為1的服務,最後是TAG值為3的服務加載(信息解讀的順序是從左到右)。要改變服務在組中的加載順序,只要編輯這個二進制串就可以了。

  另外,我們還可以通過ChangeServiceConfig API或者sc.exe程序(Windows 2000 Resource Kit包中的工具)來改變服務的加載順序。這裡就不一一細說了。


From:http://tw.wingwit.com/Article/os/windowsxp/201311/4547.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.