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

Windows
Windows Vista系统局域网的FTP服务器的打造
Vista下jusched.exe进程与禁用
修改注册表通过自动更新安装Vista SP2 RC
Internet Explorer 8(IE8)简体中文版de 卸载
解析Windows Vista系统中的“远程桌面”用法
UC2008聊天室在Vista系统下的立体声混音设置方法
解决催化剂8.11驱动bug导致Vista x64双卡交火蓝屏问题
丢失的Windows Vista系统声音的找回
控制Windows Vista下窗口动画速度的办法
浅谈微软和苹果各自的字体平滑,反锯齿,和次像素渲染技术
完整版的Windows Vista系统开机加速全攻略
在Vista系统下.NET开发者应该考虑的五个安全问题
Vista系统下硬盘IDE模式安装后开启AHCI的方法
让Windows Vista的资源管理器加上标题的方法
Windows Vista系统下彻底屏蔽Office正版增值计划的提示
Windows下玩转Tab 键提升电脑操作效率
Windows中盘符的管理与应用
图解Windows Vista下java环境变量的配置
AMD Fusion游戏工具在Intel平台上的运行
自己动手轻松制作闪游浏览器个性酷靓皮肤

改变Windows服务的启动顺序


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