禁用的自动启动程序存储在哪里?在注册表中的某个地方?


8

我知道与Windows一起运行的程序存储在(inn HKEY_LOCAL_MACHINEHKEY_CURRENT_USER)下的注册表中:

- /Software/Microsoft/Windows/CurrentVersion/Run
- /Software/Microsoft/Windows/CurrentVersion/RunOnce

但是,当我在此处删除其条目时(或使用msconfig禁用自动启动程序),有关已禁用程序的信息存储在哪里?

我的意思是不再运行Windows 的程序,但是在msconfig-> autorun下,它们被标记为“ disabled”

Answers:


7

看看下面:

\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run

每个条目中应该有一个对应的条目:

\Software\Microsoft\Windows\CurrentVersion\Run

它是一个二进制值,“ 02 00 00 00 ...”表示已启用,其他任何值似乎都表示已禁用。

我在Windows 8.1下对此进行了调查,但假定Windows 7的注册表项相同。但是在8.x中,您禁用了“任务管理器”中的自动启动程序,而不是msconfig。


4

如果您通过regedit手动删除它们,那么除非您先进行备份,否则它们将永久消失。

如果使用MSConfig禁用了它们,则可以在以下位置找到禁用的注册表整体

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg

和残疾人的启动项1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupfolder

那里的子项包含恢复禁用的项所需的信息。您可以安全地删除在那里找到的密钥,但是以后无法通过MSConfig还原它们。

注意: MSConfig不包括组策略或Windows 7 Task Scheduler中的项目!


1用户启动文件夹中的条目(开始→程序→启动)。


1

@Peter Hahndorf,那是不正确的。

Win7没有StartupApproved密钥。它改用msconfig:

HKLM \ SOFTWARE \ Microsoft \ Shared Tools \ MSConfig \ startupreg HKLM \ SOFTWARE \ Microsoft \ Shared Tools \ MSConfig \ startupfolder

Win 8/10 StartupApproved还可以包含二进制值“ 06 00 00 00”,这也意味着“已启用”!我不知道这些标志的完整枚举,但是检查它是否启用的似乎可靠的方法-检查表示FILETIME结构的下8个字节。如果所有字节均为零-启用记录。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.