Win 2000/XP自启动程序解析

当Windows完成登录过程,鼠标指针从繁忙到安静,除桌面上的图标,你还看到了什么?也许表面没什么变化,但你有没有注意到,你的系统托盘区多出了许多图标,你的进程表中出现了很多的进程!Windows在启动的时候,自动加载了很多程序,你知道它们是在什么地方被加载的吗?
许多程序的自启动,给我们带来了很多方便,这是不争的事实,但是否每个自启动的程序对我们都有用呢?更甚者,也许有病毒或木马在自启动行列,而你却不知!
到现在,你是不是觉得了解自启动文件的藏身之处有必要呢?那好,下面我就一一指出,让它们无外可藏!
其实Windows2000/XP中的自启动文件,除了从以前系统中遗留下来的Autoexec.bat文件中加载外,按照两个文件夹和9个核心注册表子键来自动加载程序的 。
1)“启动”文件夹--最常见的自启动程序文件夹 。它位于系统分区的“Documents and Settings-->User-->〔开始〕菜单-->程序”目录下 。这时的User指的是你登录的用户名 。
2)“All Users”中的自启动程序文件夹--另一个常见的自启动程序文件夹 。它位于系统分区的“Documents and Settings-->All User-->〔开始〕菜单-->程序”目录下 。前面提到的“启动”文件夹运行的是登录用户的自启动程序,而“All Users”中启动的程序是在所有用户下都有效(不论你用什么用户登录) 。
3)“Load”键值--一个埋藏得较深的注册表键值 。位于〔HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionWindowsload〕主键下 。
4)“Userinit”键值--它则位于〔HKEY_LOCAL_MacHINESoftwareMicrosoftWindows NTCurrentVersionWinlogonUserinit〕主键下,也是用于系统启动时加载程序的 。一般情况下,其默认值为“userinit.exe”,由于该子键的值中可使用逗号分隔开多个程序,因此,在键值的数值中可加入其它程序 。
5)“ExplorerRun”键值--与“load”和“Userinit”两个键值不同的是,“ExplorerRun”同时位于〔HKEY_CURRENT_USER〕和〔HKEY_LOCAL_MACHINE〕两个根键中 。它在两个中的位置分别为〔HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPolicIEsExplorerRun〕和〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun〕下 。
6)“RunServicesOnce”子键--它在用户登录前及其它注册表自启动程序加载前面加载 。这个键同时位于〔HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServicesOnce〕和〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServicesOnce〕下 。
7)“RunServices”子键--它也是在用户登录前及其它注册表自启动程序加载前面加载 。这个键同时位于〔HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServices〕和〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServices〕下 。
【Win 2000/XP自启动程序解析】8)“RunOnceSetup”子键--其默认值是在用户登录后加载的程序 。这个键同时位于〔HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnceSetup〕和〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnceSetup〕下 。
9)“RunOnce”子键--许多自启动程序要通过RunOnce子键来完成第一次加载 。这个键同时位于〔HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce〕和〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce〕下 。位于〔HKEY_CURRENT_USER〕根键下的RunOnce子键在用户登录扣及其它注册表的Run键值加载程序前加载相关程序,而位于〔HKEY_LOCAL_MACHINE〕主键下的Runonce子键则是在操作系统处理完其它注册表Run子键及自启动文件夹内的程序后再加载的 。在Windows XP中还多出一个〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnceEX〕子键,其道理相同 。

推荐阅读