Александр Климов - Реестр Windows 7
Рассмотрим каждый корневой раздел.
HKEY_CLASSES_ROOT
Раздел HKEY_CLASSES_ROOT включает в себя информацию о зарегистрированных в системе расширениях файлов, связи между расширениями файлов и программами, которые должны работать с данными файлами.
Также раздел содержит информацию о ActiveX-элемен тах, хранит список библиотек типов и много другой системной информации. Например, в этом разделе хранится информация о том, что при двойном щелчке на файле с расширением TXT должен запуститься Блокнот .
У данного раздела имеется псевдоним HKCR , используемый в сценариях и программах. В большинстве случаев данный раздел представляет интерес только для очень опытных программистов.
HKEY_CURRENT_USER
Раздел HKEY_CURRENT_USER содержит информацию о пользователе, работающем с Windows 7 в текущем сеансе, а также о различных настройках системы, относящихся к текущему пользователю: вид Рабочего стола, настройки экрана, принтера, параметры применяемых программ.
Псевдоним у данного раздела HKCU . Данный раздел является наиболее используемым в настройках. Большинство описываемых в этой книге параметров находится именно в данном разделе.
HKEY_LOCAL_MACHINE
Раздел HKEY_LOCAL_MACHINE хранит информацию о конфигурации компьютера (программной и аппаратной), не зависящей от конкретного пользователя. Настройки в этом разделе действительны для всех пользователей данного компьютера.
В качестве псевдонима для данного раздела используется HKLM .
Интересно отметить, что подраздел HKEY_LOCAL_MACHINESOFTWAREClasses является практически полной копией корневого раздела HKEY_CLASSES_ROOT .
Данный раздел является вторым по популярности при ручных настройках. Существует множество параметров, которые работают в разделах HKLM и HKCU , но тем не менее рекомендуется менять настройки для отдельного пользователя в разделе HKCU и не трогать настройки для всех пользователей без острой необходимости.
HKEY_USERS
Раздел HKEY_USERS (псевдоним HKU ) содержит информацию о профилях всех пользователей данного компьютера.
Данный раздел практически никогда не используется пользователями. Следует отметить связь данного корневого раздела с разделом HKEY_CURRENT_USER , который фактически является копией подраздела корневого раздела HKEY_USERS , хранящего сведения о текущем пользователе.
Назначение этого раздела нередко интерпретируется неправильно. Разберем его составляющие чуть подробнее. В данном разделе можно увидеть несколько подразделов определенного образца (рис. 1.3).
Рис. 1.3. Подразделы раздела HKEY_USERS
HKEY_USERS.DEFAULT
Некоторые пользователи ошибочно считают, что раздел HKEY_USERS.DEFAULT можно использовать для импортирования параметров HKCU , рассчитывая применить их ко всем пользователям. Возможно, что в некоторых случаях это сработает. Однако HKEY_USERS.DEFAULT скорее относится к настройкам, регулирующим процессы до входа пользователя в систему (например, раскладка клавиатуры по умолчанию).
HKEY_USERSS-[длинный набор цифр]
Также в разделе HKEY_USERS может находиться несколько подразделов с наборами цифр. Длинный набор цифр – это SID (идентификатор безопасности). Идентификатор безопасности присваивается каждой учетной записи, поэтому количество таких подразделов зависит от количества пользователей, когда-либо входивших в систему. Чтобы узнать, свой SID в системе, можно использовать несколько способов. Например, можно запустить утилиту командной строки whoami.exe , которая входит в состав Windows 7, с параметром /use r:
whoami /user
Для выполнения этой команды сначала запустите интерпретатор командной строки командой Пуск ► Все программы ► Стандартные ► Выполнить , введя в поле Открыть появившегося окна команду cmd.exe или просто cmd. Откроется окно, в котором и нужно ввести вышеописанную команду, нажав после ее ввода клавишу Enter (рис. 1.4).
Также можно посмотреть раздел HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList , который содержит список всех SID в виде подразделов. Просмотрите все подразделы и ищите в них параметр ProfilelmagePath . Ваш SID тот, в котором значение этого параметра совпадает с именем, под которым вы входите в систему (рис. 1.5).Рис. 1.4. Использование командной строки Windows
Рис. 1.5. Просмотр параметра ProfileImagePath
HKEY_CURRENT_CONFIG
Корневой раздел HKEY_CURRENT_CONFIG (псевдоним HKCC ) хранит информацию о настройках оборудования, которое используется компьютером в текущем сеансе работы. Он также является копией подраздела HKEY_LOCAL_MACHINESYSTEMCurrentControlSetHardware-Profiles . Этот раздел практически не используется разработчиками в программах и сценариях.
Итак, мы рассмотрели все виды корневых разделов. Каждых из них имеет множество вложенных разделов (подразделов). Их количество у каждого компьютера различно. Это связано с тем, что каждый пользователь устанавливает на компьютер свои любимые программы и игры. Если установка приложения происходит через специальные установочные программы – инсталляторы (Setup.exe, Install.exe и т. п.), то в реестр добавляются новые подразделы и параметры. Позже вы на учитесь находить подобные разделы и изменять их по своему желанию.
Физическое расположение реестра
Сам реестр физически состоит из нескольких файлов, расположенных в папке %SystemRoot%System32Config . Часть файлов для раздела HKEY_CURRENT_USER хранится в папке %SystemRoot%Profiles Имя_пользователя . Данные файлы являются защищенными и не представляют практического интереса для пользователя.
Если вам пока непонятно что означает %SystemRoot% – читайте дальше – в следующем разделе мы поговорим о том, что это такое.
Типы параметров
Параметры являются второй важной частью реестра после разделов. Каждый параметр имеет свои имя, значение и тип значения. Рассмотрим наиболее часто используемые типы данных.
► REG_BINARY – двоичные данные (Binary Value) представляют собой набор двоичных данных, доступных для редактирования в шестнадцатеричном формате. Подобный тип данных используется для хранения сведений об аппаратных ресурсах.
► REG_DWORD – целое число (DWORD Value) может задаваться в двоичном, десятичном и шестнадцатеричном форматах. Это один из самых применяемых типов параметров. Очень часто он работает в качестве своеобразного переключателя: 1 – включение (True)/0 – выключение (False). В реестре Windows 7 присутствует два вида DWORD: 32-битное значение и 64-битное значение.
► REG_EXPAND_SZ – расширенная строка (Expandable String Value) используется для ссылок на файлы. Кроме произвольного текста значение параметра такого типа может включать в себя специальные переменные. Во время обработки системой они могут заменяться на определенные значения, например пути к папкам. В таком качестве часто используются следующие переменные:
• %systemroot% – путь к каталогу в котором операционная система хранит свои файлы (например, каталог C:Windows ).
• %windir% – похоже на предыдущую переменную. Ее отличие от %systemroot% заключается в том, что переменную %systemroot% переопределить нельзя, а каталог, к которому ведет переменная %windir% , можно изменить с помощью окна Переменные среды (Панель управления ► Система и безопасность ► Система ► Дополнительные параметры системы ► вкладка Дополнительно ► кнопка Переменные среды ).
• %systemdrive% – заменяет собой букву системного диска (как правило, диск С: ).
• %userprofile% – подставляет путь к каталогу, хранящему профиль текущего пользователя.
• %programfiles% – заменяет собой путь к папке, в которую Windows устанавливает все программы (как правило, C:Program Files ).
• %username% – подставляет имя текущего пользователя, работающего с системой.
• computername% – подставляет имя компьютера (используется при обращении к компьютеру по сети).
► REG_MULTI_SZ – многострочный текст (Multi-String Value) обычно используется для представления списков.
► REG_SZ – текстовая строка (String Value). Это один из самых распространенных типов данных в реестре.
ПРИМЕЧАНИЕ ...Существует еще несколько типов данных, используемых в реестре, которые нельзя создать с помощью редактора реестра. Ресурсы этих типов создают программным способом: REG_FULL_RESOURCE_DESCRIPTOR, REG_LINK, REG_NONE, REG_RESOURCE_LIST.
Основные приемы работы с редактором реестра
С помощью редактора реестра мы можем создавать новые разделы (кроме корневых), новые параметры, переименовывать уже существующие разделы и параметры, изменять значения параметров, удалять разделы (кроме корневых) и параметры. Также мы можем создавать архивные копии реестра и восстанавливать реестр из копий. При работе с редактором реестра нужно быть особенно внимательными.