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

Windows
Vista SP2更新和安装常见问题解答
在Vista、Windows7下玩英雄无敌3绿色版
在Vista、Win7下联网玩QQ对战平台、浩方、帝国时代2
当商用计算机遇到必须重新启动才能生效的更新
windows 7 运行命令
Vista/Win 7安装程序冲突问题的解决方法
Vista 修改注册表全面禁用控制面板
桌面 开始菜单丢失的解决方法
WinXP 安全设置 操作系统的技巧
Win7 虚拟内存 正确设置方法
注册表文件的默认打开方式修改方法
Windows7 再提速 winsxs文件夹优化
在Windows7上配置管理IIS日志记录
格式化与快速格式化有什么区别分析(快速格式化好)
教你全方面消除Win2003的安全隐患
细说Win2000的系统安全防范对策
Windows Server 2008 企业版 激活方法
Win2008系统和XP系统共同使用相同的缓存
Vista SP2搜索效率2则提升技巧
System Idle Process 认识与分析

改变Windows服务的启动顺序


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 34 ::
收藏到网摘: 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包中的工具)来改变服务的加载顺序。这里就不一一细说了。