Как записи в реестре RUN переопределяются настройками Windows

Как записи в реестре RUN переопределяются настройками Windows

Недавно я экспериментировал с различными способами управлениязапуск/вход в систему, и я обнаружил нечто, чего не совсем понимаю.

Autorunsрассматривает записи в HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Runкак вещи, которыеволязапускать при входе в систему.

Однако вы можете зайти в графический интерфейс настроек, перейти в раздел Startup appsи отключить их там, но они не исчезнут (или не будут перемещены) из реестра.

Между тем, если вы отключите их через Autoruns, они просто перемещаются в подключ с именем AutorunsDisabled(и исчезают из startup appsсписка настроек), поэтому создается впечатление, что записи реестра — это просто список ПОТЕНЦИАЛЬНЫХ команд запуска, и где-то должно быть что-то, что включает или отключает их.

Поскольку я пытаюсь понять, как они работают, чтобы иметь возможность добавлять или удалять их программным способом, что делает графический интерфейс настроек «под капотом», чтобы сообщить компьютеру, какие записи следует запускать, а какие игнорировать?

решение1

Я проследил работу диспетчера задач при включении и отключении элемента на вкладке «Автозагрузка» и обнаружил следующее.

Диспетчер задач делает это волшебство с помощью другого механизма, нежели Autoruns. Он изменяет значения в следующем разделе реестра:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run

Для каждого запускаемого приложения вы найдете запись в этом разделе реестра, имя которой совпадает с именем приложения, а значение может быть одним из следующих:

  • Вход естьвключено: 02 00 00 00 00 00 00 00 00 00 00 00(шестнадцатеричный)
  • Вход естьнеполноценный: 63 60 60 60 62 F9 8C 76 C5 3B D9 91(шестнадцатеричное) или O3 00 00 00 d4 0d 43 8d c8 3b d9 01
    Это значение было разным каждый раз, когда я его отключал.

Диспетчер задач творит чудеса, изменяя значения элементов.

Теперь, когда я знал, что искать, я нашел статью Реестр: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run который говорит:

Реестр: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run

Значения ниже HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run можно использовать для включения или отключения соответствующих значений в разделе HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run.

Значение 02 00 00 … или 06 00 00 …, по-видимому, указывает на то, что запись включена, все(?) другие значения — на то, что она отключена. (Возможно, в случае отключения значение является временной меткой отключения).

Эти значения можно изменить на вкладке запуска taskmgr.exe.

См. также
Соответствующий ключ для всех пользователей:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run.

решение2

Экспериментируя с настройками SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run, можно сделать вывод, что значения можно сузить до четырех разных:

01 - запуск отключен, включить может пользователь с правами администратора

02 - запуск включен, пользователь с правами администратора может отключить

08 - запуск включен, пользователь не может отключить (выделено серым цветом)

09 - запуск отключен, пользователь не может включить (выделено серым цветом)

Он работает только с двумя цифрами. 99 работает так же, как 09 и т. д. Возможно, есть и другие, которые делают что-то по-другому, но меня интересовали только эти четыре цифры.

Связанный контент