Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows XP系統教程 >> XP系統基礎知識 >> 改變Windows服務的啟動順序

改變Windows服務的啟動順序

日期:2017/1/24 12:04:57      編輯: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值後,只能看到十六進制的數據,不便於修改。)打開該值,這是一個字符編輯環境,改變裡面的組的先後順序,然後確定改動。服務組的啟動順序就搞定了。

第二步: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包中的工具)來改變服務的加載順序。這裡就不一一細說了。

Copyright © Windows教程網 All Rights Reserved