Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по Windows.rtf
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
66.88 Mб
Скачать
    1. Работа с реестром

Реестр представляет собой централизованную базу данных параметров настройки системы и работающих в ней приложений. В этом смысле реестр аналогичен разнообразным INI-файлам, а также файлам autoexec.bat и config.sys, которые использовались ранее. Реестр содержит информацию обо всех аппаратных средствах, программном обеспечении, операционной системе и сетевых параметрах компьютера. Эта сложная иерархическая база данных принимает участие во всех аспектах работы Windows.

Редактирование реестра Windows XP позволяет:

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

  • устранять неполадки в работе оборудования, вызванные некорректным использованием различными устройствами ресурсов операционной системы или драйверов;

  • настраивать параметры и ограничения пользовательской среды Windows, изменять заданные по умолчанию характеристики операционной системы;

  • управлять быстродействием компьютера;

  • перераспределять ресурсы операционной системы по усмотрению администратора компьютера;

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

Информация в реестре Windows XP, в отличие от операционных систем предыдущих поколений, например, Windows 3.x или Windows 95, хранится в бинарной, то есть в двоичной форме, что позволяет не только помещать в реестр значительно больший объем различных данных, но и существенно увеличить скорость работы с ним.

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

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

Реестр состоит из пяти так называемых корневых ключей (root keys):

  •  HKEY_CLASSES_ROOT

  •  HKEY_CURRENT_USER

  •  HKEY_LOCAL_MACHINE

  •  HKEY_USERS

  •  HKEY_CURRENT_CONFIG

Каждый отдельный ключ может содержать элементы данных, которые называются параметрами (value entries), а также дополнительные вложенные ключи (subkeys). Для понимания этой концепции можно провести аналогию с файловой системой. Ключи в структуре реестра аналогичны каталогам, а значимые элементы — файлам. Для просмотра реестра используется программа regedit, которая запускается из Run.

Все имена корневых ключей начинаются со строки HKEY_, что указывает разработчикам программного обеспечения на то, что это — дескриптор, который может использоваться программой. Дескриптор (handle) — это значение, используемое для уникального описания ресурса, к которому программа может получить доступ.

Рисунок 52 Реестр

Таблица 8 Корневые ключи реестра

Имя корневого ключа

Описание

HKEY_LOCAL_MACHINE

(HKLM)

Содержит глобальную информацию о компьютерной системе, включая такие данные об аппаратных средствах и операционной системе, как: тип шины, системная память, драйверы устройств и управляющие данные, используемые при запуске системы. Информация, содержащаяся в этом ключе, действует применительно ко всем пользователям, регистрирующимся в системе. На верхнем уровне иерархии реестра для этого ключа имеются три псевдонима: HKEY_CLASSES_ROOT, HKEY CURRENT_CONFIG И HKEY_DYN_DATA

HKEY_ CLASSES_ ROOT

(HKCR)

Содержит ассоциации между приложениями и типами файлов (по расширениям имени файла). Кроме того, этот ключ содержит информацию OLE (Object Linking and Embedding), ассоциированную с объектами СОМ, а также данные по ассоциациям файлов и классов (эквивалент реестра ранних версий Windows, служивших настройкой над MS-DOS). Параметры этого ключа совпадают с параметрами, расположенными под ключом HKEY_LOCAL_MACHINE \ Software\Classes. Подробную информацию о ключе HKEY_CLASSES_ROOT можно найти в руководстве OLE Programmer's Reference, входящем в состав продукта Windows Platform Software Development Kit (SDK)

HKEY_CURRENT_ CONFIG

(HKCC)

Содержит конфигурационные данные для текущего аппаратного профиля. Аппаратные профили (hardware profiles) представляют собой наборы изменений, внесенных в стандартную конфигурацию сервисов и устройств, установленную данными ключей Software И System корневого ключа HKEY LOCAL_MACHINE. В ключе HKEY_CURRENT_CONFIG отражаются только изменения. Кроме того, параметры этого ключа появляются также под ключом HKEY_LOCAL_MACHINE\System \CurrentControlSet\HardwareProfiles\Current

HKEY_CURRENT USER

(HKCU)

Содержит пользовательский профиль пользователя, на данный момент зарегистрировавшегося в системе, включая переменные окружения, настройку рабочего стола, параметры настройки сети, принтеров и приложений. Этот ключ представляет собой ссылку на ключ HKEY_USERS \user SID, где user SID— идентификатор безопасности (Security ID, SID) пользователя, зарегистрировавшегося в системе на текущий момент

HKEY_USERS

(HKU)

Содержит все активно загруженные пользовательские профили, включая HKEY_CURRENT_USER, а также профиль по умолчанию. Пользователи, получающие удаленный доступ к серверу, не имеют профилей, содержащихся под этим ключом; их профили загружаются в реестры на их собственных компьютерах. Операционная система требует наличия учетных записей для каждого пользователя, регистрирующегося в системе. Ключ HKEY_USERS содержит вложенный ключ \Default, а также другие ключи, определяемые идентификатором безопасности (Security ID) каждого пользователя

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

Наиболее важными из пяти корневых ключей являются HKLM и HKU. Это единственные ключи, которые Windows XP на самом деле хранит на диске. Остальные ключи являются ссылками на подключи ключей HKLM или HKU. HKCU является ссылкой на подключ в HKU. HKCR и HKCC являются ссылками на подключи в HKLM. Пользовательские настройки располагаются в HKCU, а общекомпьютерные – в HKLM.

Таблица 9 Типы данных реестра

Тип данных

Описание

REG_BINARY

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

REG_DWORD

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

REG_EXPAND_SZ

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

REGJMULTI_SZ

Многострочное поле. Значения, которые фактически представляют собой списки текстовых строк в формате, удобном для восприятия человеком, обычно имеют этот тип данных. Строки разделены символом NULL

REG_SZ

Текстовая строка в формате, удобном для восприятия человеком. Значениям, представляющим собой описания компонентов, обычно присваивается именно этот тип данных

REG_DWORD_ LITTLE_ENDIAN

32-разрядное число в формате "остроконечников" (little-endian). Представляет собой эквивалент REG DWORD. При использовании метода "остроконечников" самый младший байт ("little end") хранится в памяти первым в числе. Например, шестнадцатеричное число A02Bh по методу "остроконечников" сохраняется как 2ВАО. Метод "остроконечников" используется в микропроцессорах Intel

REG_DWORD_BIG_ ENDIAN

32-разрядное число в формате "тупоконечников" (big-endian). В противоположность методу "остроконечников", при использовании метода "тупоконечников" самый старший байт ("big end") оказывается первым байтом числа

REG_LINK

Символическая ссылка Unicode. Этот тип данных предназначен для внутреннего использования. Тип данных REG LINK особенно интересен тем, что он позволяет одному элементу реестра ссылаться на другой ключ или параметр. Например, если элемент реестра \Rootl\Link имеет параметр типа REG LINK со значением \Root2\RegKey, а ключ RegKey содержит параметр RegValue, то этот параметр идентифицируется двумя путями: \Rootl\Link\RegValue И \Root2 \ RegKey \RegValue. Windows NT/2000/XP и Windows Server 2003 активно использует этот метод — некоторые из корневых ключей реестра, являются ссылками на вложенные ключи других корневых ключей

REG_NONE

Параметр не имеет определенного типа данных

REG_QWORD

64-разрядное число

REG_QWORD_LITTLE_ ENDIAN

64-разрядное число в формате "остроконечников". Эквивалент REG QWORD

REG_RESOURCE_LIST

Список аппаратных ресурсов, применяется только в ветви HKEY_LOCAL_MACHINEXHARDWARE

REG_FULL_RESOURCE_ DESCRIPTOR

Дескриптор (описатель) аппаратного ресурса. Применяется только в ветви HKEY_LOCAL_MACHINE\HARDWARE

REG_RESOURCE_ REQUIREMENTS_LIST

Список необходимых аппаратных ресурсов. Применяется только в ветви HKEY_LOCAL_MACHINE\HARDWARE