Реестр Windows

Материал из ПИЭ.Wiki

Перейти к: навигация, поиск

Реестр (англ. registry) - это база данных, в которой хранится информация обо всех настройках и параметрах работы Windows, а также конфигурация всех установленных в системе приложений.

В реестре хранятся данные, которые необходимы для правильного функционирования Windows. К ним относятся профили всех пользователей, сведения об установленном программно обеспечении и типах документов, которые могут быть созданы каждой программой, информация о свойствах папок и значках приложений, а также установленном оборудовании и используемых портах.

С помощью реестра вы можете делать с системой все что угодно - менять всевозможные настройки и параметры, причем даже те, которые невозможно изменить при помощи стандартных средств Windows и ее диалоговых окон.

Однако прежде чем приступить к изучению реестра, нужно усвоить, что работать с ним следует предельно осторожно и обдуманно. Изменение некоторых параметров может привести к нарушению работы Windows или даже к выходу ее из строя.

Содержание

Краткая история реестра

MS-DOS получала данные о конфигурации из файлов config.sys и autoexec.bat. Каждое приложение, которое выполнялось в среде MS-DOS, должно было само заботиться о своих настройках.

Microsoft Windows 3.0 несколько снизила ограничения файлов config.sys и autoexec.bat, введя ini-файлы для хранения настроек. Ini-файлы являются текстовыми файлами, которые содержат один или несколько разделов с одной или более настроек для каждого из разделов. Проблема с ini-файлами состоит в том, что они не предоставляют иерархии, хранение двоичных данных в них затруднено (хотя и не невозможно) и они не предоставляют стандарта на хранение одинаковых типов настроек. С ini-файлами связано несколько других проблем, которые являются следствием невозможности с помощью ini-файлов организовать комплексное взаимодействие между приложениями и операционной системой. Большой проблемой, связанной с ini-файлами и ранними версиями Windows, было огромное число ini-файлов, имеющихся на любом компьютере. Каждое приложение имело свой собственный набор ini-файлов.

В Windows 3.1 в качестве инструмента для хранения настроек OLE (object linking and embedding - встраивание объектов) появился реестр, а Windows 95 и Windows NT 3.5 расширили реестр и придали ему статус конфигурационной базы данных, которую теперь использует Windows. Хотя ini-файлы больше не требуются из-за того, что приложения имеют гораздо лучшую возможность для хранения настроек, вы всегда сможете найти несколько таких файлов, включая win.ini, на каждом компьютере.

Редактор реестра

Реестр хранится в виде множества двоичных файлов. Поэтому нельзя открыть файл реестра в текстовом редакторе и отредактировать его по своему усмотрению. Для работы с реестром необходимо использовать специальные программы. Они собирают все файлы реестра воедино и отображают их содержимое в виде единой иерархической структуры.

Стандартной программой, предназначенной для работы с реестром и входящей в состав Windows XP, является программа regedit.exe или regedit32.exe. Располагается эта программа непосредственно в каталоге, в который была установлена операционная система.

Окно запущенного редактора реестра выглядит так, как показано на рисунке. В левой части окна в виде иерархического дерева показывается структура реестра, а в правой части - содержимое выделенного раздела.

Редактор реестра regedit

В русскоязычной технической литературе принято ветви реестра называть ключами (от англ. key) или разделами. При этом каждый раздел (ключ) реестра может содержать в себе другие вложенные разделы, а также параметры (англ. value). Именно параметры представляют собой полезное содержимое реестра. А сами ключи служат лишь для группирования сходных по смыслу и значению параметров. В общем, разделы (ключи) и параметры, сходны с папками и файлами.

Файл:ktip.png

Примечание
В официальной документации Microsoft применяется несколько другая терминология. В ней отсутствует термин "ключ", а используется лишь термин "раздел".

Чтобы отобразить содержимое какого-либо раздела(ключа), необходимо щелкнуть по его названию в левой части редактора реестра. При этом в правой части откроется список содержащихся в нем параметров. Если раздел (ключ) содержит вложенные разделы (ключи), то рядом с ним стоит значок "+" (плюс). Щелкнув мышкой по этому значку, можно раскрыть список вложенных ключей.

Редактирование реестра

Редактирование реестра предполагает выполнение следующих действий:

  • поиск нужного раздела (ключа) или параметра;
  • добавление раздела (ключа) или параметра;
  • изменение значения параметра;
  • удаление раздела (ключа) или параметра;
  • переименование раздела (ключа) или параметра.

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

Указываем значение параметра

Чтобы создать новый раздел (ключ) или параметр, вам нужно перейти в тот раздел (ключ), внутри которого вы хотите создать это. Далее в строке меню выберите Правка → Создать, а затем - что именно вы хотите создать. После этого вам будет предложено ввести имя созданного элемента реестра. Если вы таким образом создали параметр, то, что-бы задать для него значение, по нему опять же необходимо дважды щелкнуть мышкой.

Создание нового раздела (ключа) или параметра в реестре

Например, чтобы создать новый раздел (ключ) TestSubkey внутри ключа HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft, проделайте следующее:

  1. Перейдите в раздел (ключ) HKEY_LOCAL_MACHINE.
  2. Перейдите в раздел (ключ) SOFTWARE.
  3. Перейдите в раздел (ключ) Microsoft
  4. Выберите в меню Правка → Создать, а затем - Раздел.
  5. Введите TestSubkey и нажмите клавишу "Enter".

В реестре вы можете переименовать любой параметр или ПОЧТИ любой раздел (ключ) реестра. Делается это так же, как и переименовывание обычных файлов. Для того, чтобы перейти в режим задания нового имени, выполните любое из следующих действий:

  • щелчком мыши выделите раздел (ключ) или параметр и в строке меню выберите Правка → Переименовать;
  • щелчком мыши выделите раздел (ключ) или параметр реестра и нажмите на кнопку "F2".

Чтобы удалить какой-либо раздел (ключ) или параметр реестра, необходимо выделить его, а затем либо в строке меню выбрать Правка → Удалить, либо просто нажать на клавишу "Delete" ("Del").

Чтобы найти какой-либо раздел (ключ) или параметр, можно воспользоваться встроенным инструментом поиска в редакторе реестра. Для этого вам нужно в строке меню выбрать Правка → Найти. После этого на экране появится диалоговое окно Поиск, в котором вы сможете указать название того, что вам нужно найти. Чуть ниже, с помощью флажков, вы можете узнать, среди каких элементов реестра (ключей (разделов) и/или параметров) должен производиться поиск.

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

Обозначение параметров и разделов реестра

Запись "раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft" на практике означает, что вам нужно:

  1. Сначала перейти в раздел HKEY_LOCAL_MACHINE.
  2. Затем из раздела HKEY_LOCAL_MACHINE перейти во вложенный в него раздел SOFTWARE.
  3. А затем из раздела SOFTWARE перейти во вложенный в него раздел Microsoft.

Аналогичным образом осуществляется и переход в другие разделы (ключи). При этом запись типа HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft является краткой записью перехода, или, как его еще называют, путем.

Структура реестра

Весь реестр Windows XP делится на пять основных ветвей - пять стандартных разделов (или ключей), в которые входят все остальные. Эти разделы (ключи) называются стандартными разделами (ключами). Именно они формируют базовую структуру реестра. Эти разделы (ключи) таковы:

  • HKEY_CURRENT_USER - данный раздел (ключ) является корневым для данных конфигурации пользователя, вошедшего в систему в настоящий момент. Здесь хранятся папки пользователя, цвета экрана и параметры панели управления. Эти сведения сопоставлены с профилем пользователя. Кроме того, в этом разделе могут храниться параметры, используемые различными прикладными программами. Например, программа воспроизведения звуковых файлов может записать в этот раздел список наиболее часто прослушиваемых композиций. Вместо полного имени ключа иногда используется аббревиатура HKCU. Наиболее полезным в этом разделе (ключе) является подраздел Software, так как именно в нем можно обнаружить параметры, посвященные каждому из установленных в системе приложений. Обычно такие параметры группируются по производителю.
  • HKEY_USERS - Данный раздел (ключ) содержит все профили пользователей компьютера. По своей сути раздел HKEY_CURRENT_USER является подразделом ключа HKEY_USERS. Просто раздел HKEY_CURRENT_USER был вынесен в число стандартных в целях удобства. В разделе (ключе) HKEY_USERS раздел HKEY_CURRENT_USER обозначается как длинная строка цифр и букв типа: S-1-5-24-1365425787-34253468867-2342436-700. Кстати, эта абракадабра на самом деле является идентификатором безопасности (SID), под которым работает текущий пользователь (то есть вы). Вместо полного имени раздела HKEY_USERS иногда используется аббревиатура HKU.
  • HKEY_LOCAL_MACHINE - этот раздел (ключ) содержит параметры аппаратной конфигурации (устройств компьютера), относящиеся к данному компьютеру. Содержимое данного раздела (ключа) является абсолютно одинаковым для всех пользователей системы. Вместо полного имени раздела иногда используется аббревиатура HKLM.
  • HKEY_CLASSES_ROOT - этот раздел (ключ) по сути является подразделом HKEY_LOCAL_MACHINE\Software. Хранящиеся здесь сведения отвечают за запуск необходимых программ при открытии файлов с различными расширениями. Вместо полного имени раздела иногда используется аббревиатура HKCR. Начиная с Windows 2000, эти сведения хранятся как в HKEY_LOCAL_MACHINE, так и в HKEY_CURRENT_USER. Раздел HKEY_LOCAL_MACHINE\Software\Classes содержит параметры по умолчанию, которые относятся ко всем пользователям локального компьютера. Параметры, содержащиеся в разделе (ключе) HKEY_CURRENT_USER\Software\Classes, переопределяют принятые по умолчанию и относятся только к текущему пользователю. Раздел (ключ) HKEY_CLASSES_ROOT включает в себя данные из обоих источников. Кроме того, раздел HKEY_CLASSES_ROOT представляет объединенные данные программам, написанным под ранние версии Windows. Изменения настроек текущего пользователя выполняются в разделе HKEY_CURRENT_USER\Software\Classes. Модификация параметров по умолчанию должна производиться в разделе (ключе) HKEY_LOCAL_MACHINE\Software\Classes. Данные из разделов, добавленных в HKEY_CLASSES_ROOT, будут сохранены системой в разделе (ключе HKEY_LOCAL_MACHINE\Software\Classes. Если изменяется параметр в одном из подразделов раздела HKEY_CLASSES_ROOT и такой подраздел уже существует в HKEY_CURRENT_USER\Software\Classes, то для хранения информации будет использован раздел (ключ) HKEY_CURRENT_USER\Software\Classes, а не HKEY_LOCAL_MACHINE\Software\Classes.
  • HKEY_CURRENT_CONFIG - данный раздел (ключ) содержит сведения о профиле оборудования, используемом локальным компьютером при запуске системы.

Типы параметров реестра

Все параметры, используемые в реестре, имеют определенный тип, в соответствии с которым они принимают определенные значения, определенным образом хранятся, обрабатываются и т.д. Всего в Windows XP предусмотрено семь типов, к которым принадлежат все параметры реестра. Все они перечислены в приведенной ниже таблице.

Название Обозначение Описание
Двоичный параметр REG_BINARY Двоичные (или их еще называют бинарные) параметры представляют собой набор символов, хранящихся в двоичном виде и доступных для редактирования только в шестнадцатеричном формате.
Параметр DWORD REG_DWORD Параметр такого типа имеет числовое значение. Довольно часто используются значения 0 и 1. При этом "0" означает "нет", а "1" - "да". REG_DWORD_BIG_ENDIAN (самый младший байт хранится в памяти в последнем числе). При изменении значения параметра с таким типом, вы можете выбрать систему счисления, в которой он должен отображаться: десятичную или шестнадцатеричную. По умолчанию используется шестнадцатеричная система счисления, но при использовании чисел от 0 до 9 система счисления не имеет никакого значения.
Расширяемая строка данных REG_EXPAND_SZ Строка данных переменной длины. Этот тип данных включает имена специальных переменных, обрабатываемых программой или службой. Когда программа или служба читает такую строку из реестра, то операционная система автоматически подставляет вместо имени специальной переменной текущее значение этой переменной.
Многострочный параметр REG_MULTI_SZ Многострочный текст, представляющий собой несколько строк, объединенных воедино. Этот тип, как правило, имеют списки и другие записи в формате, удобном для чтения. Записи разделяются пробелами, запятыми или другими символами.
Строковый параметр REG_SZ Текстовая строка фиксированной длины. Содержит обычный текст, который можно прочитать.
Двоичный параметр REG_RESOURCE_REQUIRMENTS_LIST Последовательность вложенных массивов. Служит для хранения списка ресурсов, которые используются драйвером устройства или управляемым им физическим устройством. Обнаруженные данные система сохраняет в разделе \ResourceMap. В окне редактора реестра эти данные отображаются в виде двоичного параметра в шестнадцатеричном формате.
Двоичный параметр REG_RESOURCE_LIST Последовательность вложенных массивов. Служит для хранения списка драйверов аппаратных ресурсов, которые могут быть использованы определенным драйвером устройства или управляемым им физическим устройством. Часть этого списка система записывает в раздел \ResourceMap. Данные определяются системой. В окне редактора реестра они отображаются в виде двоичного параметра в шестнадцатеричном формате.
Двоичный параметр REG_FULL_RESOURCE_DESCRIPTOR Последовательность вложенных массивов. Служит для хранения списка ресурсов, которые используются физическим устройством. Обнаруженные данные система сохраняет в разделе \HardwareDescription. В окне редактора реестра эти данные отображаются в виде двоичного параметра в шестнадцатеричном формате.
Отсутствует REG_NONE Не имеющие определенного типа данные. Такие данные записываются в реестр системой или приложением. В окне редактора отображаются в виде двоичного параметра в шестнадцатеричном формате.
Сылка REG_LINK Символическая ссылка в формате Юникод
Параметр QWORD REG_QWORD Данные, представленные в виде 64-разрядного целого. Такие данные отображаются в окне редактора реестра в виде двоичного параметра. Параметр впервые введен в Windows 2000.

Литература

  1. Дж.Хонейкатт Реестр Microsoft Windows XP. Справочник профессионала: Практ.пособ./Пер. с англ.-М.:Издательство "СП ЭКОМ", 2003.-656 с.: илл. ISBN 5-9570-0003-5
  2. Куприянова А.В. Реестр Windows XP: Настройки, трюки, секреты. Настольная книга пользователя / Под. ред. М.В.Финкова. Серия "Просто о сложном". - СПб.: Наука и Техника, 2006. - 192 с., ил. ISBN 5-98387-261-2
Просмотры
Инструменты

Besucherzahler russian mail order brides
счетчик посещений
Rambler's Top100
Лингафонные кабинеты  Интерактивные доски  Интерактивная приставка Mimio Teach