Разница между HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE

HKEY_CURRENT_USER против HKEY_LOCAL_MACHINE

HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE являются двумя корневыми ключами в реестре Windows, которые являются важной частью каждой установки ОС Windows начиная с Windows 3.1. Реестр Windows содержит параметры устройства, параметры программного обеспечения и другую информацию, касающуюся компьютера, ОС и приложений, которые на нем установлены. Основное различие между HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE заключается в том, к чему они относятся. HKEY_LOCAL_MACHINE содержит информацию, которая имеет отношение к компьютеру в целом, а HKEY_CURRENT_USER содержит информацию, специфичную для пользователя. Следовательно, существует только одна копия HKEY_LOCAL_MACHINE, в то время как существует несколько копий HKEY_CURRENT_USER с разными значениями.

Если пользователь решит изменить записи реестра в HKEY_CURRENT_USER, он будет изменять настройки только для себя. Но если он изменит записи в HKEY_LOCAL_MACHINE, он изменит настройки для всех, кто использует этот компьютер. Хорошим примером этого будет установка нового программного обеспечения. Многие программы при установке спрашивают, будет ли это только для текущего пользователя или для всех. Выбор только для текущего пользователя приведет к тому, что записи будут сделаны в HKEY_CURRENT_USER, а выбор для всех поместит записи в HKEY_LOCAL_MACHINE. Очевидно, что выбор первого означает, что только пользователь, установивший программное обеспечение, сможет использовать его, в то время как последний вариант позволит всем видеть и использовать программное обеспечение..

Другое ключевое отличие между HKEY_LOCAL_MACHINE и HKEY_CURRENT_USER заключается в том, кто может его редактировать. Первый может быть отредактирован любым пользователем, имеющим доступ к реестру, в то время как последний может редактировать только отдельный пользователь. Вы не можете войти в одну учетную запись и изменить записи HKEY_CURRENT_USER в другой учетной записи.

Наконец, существует вопрос, когда записи реестра загружаются. HKEY_LOCAL_MACHINE загружаются во время запуска операционной системы. Для сравнения, HKEY_CURRENT_USER загружается только после того, как пользователь входит в свою учетную запись, что вполне разумно, так как ОС не знает, какой HKEY_CURRENT_USER он будет загружать. Если пользователь не входит в определенную учетную запись или входит в гостевую учетную запись, будут загружены настройки HKEY_CURRENT_USER по умолчанию. Для нового пользователя записи HKEY_CURRENT_USER также будут такими же, как по умолчанию.

Резюме:

1.HKEY_CURRENT_USER применим только к одному пользователю, а HKEY_LOCAL_MACHINE применим ко всем
2.HKEY_LOCAL_MACHINE всегда доступен, а HKEY_CURRENT_USER для конкретного пользователя доступен только при входе в систему.
3.HKEY_LOCAL_MACHINE загружаются при запуске, а HKEY_CURRENT_USER загружаются при входе в систему