Windows开机自启动程序的位置(XP、Win7、x64)

  我们经常会遇到许多不请自来自己启动的程序,还有许多是我们不想让它启动的程序,为了便于管理,故列出Windows可以使程序自动启动的位置。

文件夹

 1. 当前用户专有的“启动”文件夹

  比较常用的一个位置,“X:\Documents and Settings\<用户名字>“开始”菜单\程序\启动”,或者“X:\Users\<用户名字>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup”。

 2. 所有用户的“启动”文件夹

  同样常用的位置,“X:\Documents and Settings\All Users“开始”菜单程序启动”,或者“X:\Users\All Users\Microsoft\Windows\Start Menu\Programs\Startup”。

注册表

 1. 首先是最常用的RUN键

  注册表启动最常用的键,有两个位置,分别为 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] 和 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run],其下的所有程序在每次启动登录时都会按顺序自动执行,HKLM先于HKCU运行,但都在“启动”文件夹之前;
  还有两个不被注意的Run键,位于注册表[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run] 和 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run],也要仔细查看;
  还有一个[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\Run]键据说也可以启动。

 2. 安装程序或病毒常用的RunOnce键

  该键仅运行一次,之后会自动删除,位置为[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce] 和 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce]。

 3. 运行服务一次的RunServicesOnce键

  RunServicesOnce注册键用来启动服务程序,启动时间在用户登录之前,而且先于其他通过注册键启动的程序,其中的程序会在系统加载时自动启动执行一次。位置为[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]和[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]。

 4. 运行服务的RunServices键

  RunServices注册键指定的程序紧接RunServicesOnce指定的程序之后运行,但两者都在用户登录之前。位于注册表[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices]和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices]键。

 5. XP和2003特有的RunOnceEx键

  位置为 [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx]和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx]。

 6. Load键

  其下属键值开机运行并最小化,位置为[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows],而如果建在local_machine下不起作用。

 7. Winlogon键

  该键位于位于注册表[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon],注意下面的Notify、Userinit、Shell键值也会有自启动的程序(未一一测试),而且其键值可以用逗号分隔,从而实现登录的时候启动多个程序。如通常在Userinit值键下面有一个userinit.exe,但这个键允许指定用逗号分隔的多个程序,例如“userinit.exe,OSA.exe”(不含引号)。

 8. 其他一些注册表项

  还有一些其他键值,经常会有一些程序在这里自动运行,如:[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad]
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\SystemScripts]
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\SystemScripts]

 9. x64系统特有的位置

  在64位系统中显示32位系统的注册表,均在[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node]下,其中相应的注册表项也存在,例如[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run]和[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce]等。

其他启动项

 1. Win.ini文件

  在[windows]段下的“Run=”和“LOAD=”语句后面就可以直接加可执行程序,只要程序名称及路径写在“=”后面即可。
另:“load=”后面的程序在自启动后最小化运行,而“run=”后程序则会正常运行。

 2. System.ini文件

  其[boot]段下“shell=”语句,该语句默认为“shell=Explorer.exe”,启动的时候运行Windows外壳程序explorer.exe,可以修改。

 3. wininit.ini文件

  该文件很容易被忽视,因为该文件在Windows启动时自动执后会被自动删除,这就是说该文件中的命令只会自动执行一次。

 4. 计划任务

  比较方便,也比较容易忽视的位置。
注:查看启动项,可以通过msconfig或autoruns等第三方软件。

Windows开机自启动程序的位置(XP、Win7、x64)

转载请注明
本文转自: 醉倚黄昏
固定链接: http://zyhh.me/windows/windows-autorun.html
有所期待: 一个有雨有肉的夜晚,和你没头没尾分一瓶酒。

评论 (6)
  1. # 1
    李木 2012-05-20 01:39

    写的挺详细呀
    建议博主将 文章分分段,这样看起来好累啊 😎

  2. # 2
    ZtyHome 2012-05-20 03:22

    内容不错
    不过界面还是整理一下吧
    欢迎到我的小站看看

    • zyhh 2012-05-20 06:15 @
      @ZtyHome @ZtyHome: 换编辑器导致的,没注意 :???:
  3. # 3
    精彩在线 2012-05-20 03:29

    页面挺好,这个帖子收藏着备用,哈哈

  4. # 4
    EMLink 2012-08-24 08:11

    谢谢你的整理。

  5. # 5
    走刀口 2014-03-15 02:38

    写得非常详细,谢谢分享!