当前位置: 首页 > 图文教程 > 操作系统 > Windows > 改变Windows服务的启动顺序

Windows
Windows Vista下系统评分无法完成的问题
Vista SP2正式版主题手动破解补丁及使用方法
Windows7 操作系统的全新任务栏
WINDOWS 任务计划 循环执行某程序的任务计划设置
服务器维护和计划任务使用方法
Windows Vista系统常用术语列表
Windows 任务管理器使用技巧
Vista 利用组策略 保护个人隐私
Vista 组策略解决非常任务 推荐
Windows Server 2008提升AD管理效率
Windows Server 2008 帐户管理经验谈
Windows Server 2008作为打印服务器排错
Windows Server 2008下Backup功能全通透
用Windows Server Backup搞定服务器备份
让Windows Server 2008设备驱动顺利“落户”
灵活设置Windows Server 2008应对系统管理谜局
设置系统 让共享访问不再磕磕碰碰
微软宣布Windows 7和Windows 2008 R2上市时间表
让Windows Server 2008系统安全更上一层楼
微软公布Windows Server 2008 R2最终发售日期

改变Windows服务的启动顺序


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 135 ::
收藏到网摘: n/a

 

  要改变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包中的工具)来改变服务的加载顺序。这里就不一一细说了。