Глава 4 Корневой раздел HKEY_CLASSES_ROOT
Глава 4
Корневой раздел HKEY_CLASSES_ROOT
В данной главе будет рассмотрен корневой раздел реестра HKEY_CLASSES_ROOT. Начнем с общих сведений о реестре.
Реестр Windows — это большая база данных, хранящая сведения обо всех настройках операционной системы. Будь то настройка цвета окна или пароль пользователя для входа в систему — все, вплоть до самого маленького флажка самого маленького диалогового окна, находится в реестре Windows.
Так уж получилось, что в Windows XP реестр реализован в виде набора файлов, доступ к которым можно получить только программным путем. Здесь не будет описываться содержимое этих файлов — это не является главной темой книги. Не будет описана и работа с программами для доступа к реестру — данная часть предназначена для тех, кто уже имеет некоторый опыт в использовании реестра. Но, несмотря на это, хотелось бы привести некоторую информацию для тех, кто уже забыл, как работать с реестром (но имеет опыт работы с ним — иначе стоит купить отдельную книгу, посвященную именно этой теме).
Для доступа к реестру в Windows XP применяется стандартная программа операционной системы regedit.exe, расположенная в каталоге %systemroot%. После ее запуска перед вами отобразится окно, состоящее из двух областей — в левой области отображаются ветви реестра, а в правой — содержащиеся в них параметры и их значения. Ветви реестра не произрастают из ничего, они имеют определенную точку монтирования — папку Мой компьютер. При этом стоит сказать, что от точки монтирования отходит пять ветвей (ни больше, ни меньше), называемых корневыми разделами и делящих содержащуюся в реестре информацию на определенные категории. Кратко опишем эти корневые разделы.
? HKEY_CLASSES_ROOT — содержит сведения обо всех расширениях файлов и ActiveX-объектах, зарегистрированных в системе. Глава 4 посвящена содержимому этого раздела.
? HKEY_CURRENT_USER — здесь находятся сведения о параметрах настройки оболочки Windows и конкретных установленных в ней программ для пользователя, работающего в данный момент с компьютером.
? HKEY_USERS — сведения для построения предыдущего раздела хранятся именно в этом корневом разделе. Раздел HKEY_USERS содержит данные о настройках оболочки Windows, применяемых для пользователя, впервые вошедшего в систему (в разделе . DEFAULT данного корневого раздела), а также настройки определенных классов пользователей и текущих пользователей системы. Другими словами, если в Windows 9x данный корневой раздел хранил сведения о настройках всех пользователей системы, то в Windows XP он хранит настройки только текущих пользователей, зарегистрированных в системе. Но если войти в программу regedit.exe от имени другого пользователя, то данный корневой раздел будет содержать настройки как пользователя, который сейчас зарегистрирован в системе, так и пользователя, от чьего имени был произведен запуск программы.
? HKEY_LOCAL_MACHINE — если предыдущие два корневых раздела включалив себя сведения о настройках определенных пользователей, то данный корневой раздел содержит информацию о настройках системы и программ, применяемых для всех пользователей системы.
? HKEY_CURRENT_CONFIG — корневой раздел включает в себя копию содержимого ветви реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetHardware ProfilesCurrent и создается для совместимости с предыдущими версиями операционной системы.
Как уже было сказано, правая панель редактора реестра хранит сведения о содержащихся в открытой на данный момент ветви реестра параметрах: их названия, тип и значение. Параметры реестра могут иметь следующие типы данных (имеется в виду, что редактор реестра может создавать эти типы параметров, на самом же деле типов параметров намного больше).
? REG_SZ — строковый параметр, содержимым которого может быть строка символов Unicode.
? REG_EXPAND_SZ — расширяемый строковый параметр. Его содержимым может быть как произвольный текст, так и определенные переменные, которые после обработки системой преобразуются в статические пути к каталогам Windows (например, переменная %systemroot% преобразуется в каталог, в котором установлена текущая версия Windows, а переменная %username% преобразуется в имя текущего пользователя, работающего в системе).
? REG_MULTI_SZ — мультистроковый параметр, содержимым которого могут быть несколько строк текста, разграниченных NULL.
? REG_DWORD — если все предыдущие типы параметров хранили строковые данные, то данный тип определяет числовое значение длиной не более 4 байт.
? REG_BINARY — этот параметр хранит данные любой длины, но в основном применяется длина в 4 байта (по аналогии с REG_DWORD).
ПРИМЕЧАНИЕ
В основном нет никакой разницы между типами параметров реестра, поэтому вместо REG_DWORD-типа можно создавать параметры REG_BINARY-типа, вместо REG_SZ-типа можно создавать параметры REG_EXPAND_SZ-типа и т.д.
Битовая маска — это название, используемое для описания значения параметров типа REG_DWORD и REG_BINARY, при котором отдельно описывается результат установки каждого бита данного параметра. Например, в этой книге можно встретить абзацы, в которых будет содержаться подобный текст:
0х00000001 — описание1
0х00000002 — описание2
0x00000004 — описание3
0x00000008 — описание4
0x00000010 — описание5
0x00000020 — описание6
…
Приведенный абзац можно расшифровать так: если первый бит параметра будет установлен, то описание1, если второй бит параметра установлен, то описание2, если третий бит параметра установлен — описание3 и т.д.
При этом следует еще сказать, что в параметре может быть установлено сразу несколько битов, в этом случае выполняемое им действие определяется суммой соответствующих описаний. Битовая маска не только упрощает описание сложных параметров (по аналогии со способом их описания эти параметры будут также называться битовыми масками), но и позволяет легко установить отдельные биты параметра. Например, чтобы установить все приведенные выше биты параметра, нужно записать в него значение, равное 1 + 2 + 4 + 8 + 10 + 20 = 7 + 38 = 3F (расчет ведется в шестнадцатиричной системе счисления).
Рассмотрим наиболее интересные параметры реестра. Первым корневым разделом, структура которого будет описана, станет раздел HKEY_CLASSES_ROOT. Хотя, если быть точным, содержимое этого раздела строится на основе двух ветвей других корневых разделов: HKEY_LOCAL_MACHINESOFTWAREClasses и HKEY_CURRENT_USERSoftwareClasses. Первая ветвь реестра включает в себя информацию о расширениях файлов, используемую всеми пользователями компьютера для построения карты расширений. Вторая ветвь содержит информацию о расширениях, которые либо используются только текущим пользователем, либо переопределяют собой информацию из ветви корневого раздела HKEY_LOCAL_ MACHINE. Иначе говоря, если информация о каком-нибудь расширении содержится как в корневом разделе HKEY_LOCAL_MACHINE, так и в HKEY_CURRENT_USER, то сведения из этих ветвей будут объединяться. При этом сведения из ветви HKEY_CURRENT_USER будут заменять собой сведения из ветви HKEY_LOCAL_MACHINE.
Корневой раздел HKEY_CLASSES_ROOT имеет более-менее статичную структуру. Если остальные корневые разделы могут хранить любую информацию, какую только захотят поместить в них программисты (любое название параметра и любой путь, ведущий к этому параметру), то HKEY_CLASSES_ROOT содержит параметры, названия которых не зависят от прихотей программистов, разрабатывающих соответствующее расширение файла или ActiveX-объект.
Как уже говорилось выше, корневой раздел HKEY_CLASSES_ROOT включает в себя всю информацию о расширениях файлов, которые зарегистрированы в вашей системе, а также описывает те действия, которые вы можете выполнить с файлами данного расширения (команды контекстного меню). Ветвь также содержит сведения обо всех зарегистрированных в системе ActiveX-компонентах, но о них будет рассказано чуть позже, а сейчас разберемся с хранением сведений о расширениях файлов.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Корневой каталог
Корневой каталог Корневой каталог "/" является основой любой файловой системы UNIX. Все остальные файлы и каталоги располагаются в рамках структуры, порожденной корневым каталогом, независимо от их физического
(3.19) После работы с hyper terminal в корневой директории появляются файлы, comreads.dbg и comused.dbg. Что это такое, и как их убрать?
(3.19) После работы с hyper terminal в корневой директории появляются файлы, comreads.dbg и comused.dbg. Что это такое, и как их убрать? Эти два файла содержать представленные в шестнадцетиричном виде данные, которые передавались и принимались по порту модема. Если Вы считаете, что эта
Изучаем раздел HKEY_CLASSES_ROOT
Изучаем раздел HKEY_CLASSES_ROOT Для того чтобы стать настоящим специалистом по работе с реестром, необходимо свободно разбираться в структуре раздела HKEY_CLASSES_ROOT . Почему это так важно? А потому, что именно здесь сосредоточена основная информация, которую система использует при
Глава 4. Готовим новый раздел
Глава 4. Готовим новый раздел Вступление В этой главе речь пойдет о создании раздела для системы LFS. Мы создадим сам раздел, файловую систему на нем, и монтируем
Монтируем раздел
Монтируем раздел Итак, файловая система создана и готова к эксплуатации. Для того чтобы получить доступ к разделу (возможность чтения и записи информации на нем), необходимо его монтировать. Если точка монтирования /mnt/lfs, перейти к этому разделу можно с помощью команды cd
18.1.1. Параметры корневой файловой системы
18.1.1. Параметры корневой файловой системы Итак, начнем описание параметров, с параметров корневой файловой системы: root=yстройствоУстанавливает корневую файловую систему. Например, root=/dev/hda1. В качестве устройства допустимыми являются:1. /dev/hdaN…/dev/hddN — для
20.4.1. Параметры корневой файловой системы
20.4.1. Параметры корневой файловой системы ? root=устройство: указывает устройство, на котором находится корневая файловая система. В качестве устройства допустимо указывать:/dev/hdaN … /dev/hddN — для IDE-дисков:/dev/sdaN … /dev/sdeN — для SCSI-дисков;/dev/xdaN … /dev/xdbN — для XT-совместимых
Раздел расширения
Раздел расширения Как уже говорилось, раздел расширения включает в себя параметр (По умолчанию), значение которого определяет название раздела идентификатора, описывающего данное расширение. Но, кроме этого параметра, раздел расширения может содержать еще несколько
Раздел идентификатора
Раздел идентификатора Теперь поговорим о содержимом второго раздела, используемого для описания расширения.Кроме разделов идентификаторов для расширений файлов, в системе также существуют стандартные идентификаторы Windows, описывающие такие объекты, как папка, диск,
Раздел Select
Раздел Select Но как же система узнает, какой из разделов ControlSetNNN необходимо использовать при обычной загрузке, какой нужно применять при загрузке последней удачной конфигурации, а какой вообще является испорченным? Именно для этих целей и предназначен раздел Select. Он
Раздел помощи
Раздел помощи Очень важно, чтобы на сайте был выделен раздел помощи на главной странице и человек знал, что он может посмотреть ответы на типичные вопросы или задать собственный. Это сильно повышает
Корневой узел
Корневой узел Корневой узел XML-документа — это узел, который является корнем дерева документа. Не следует путать его с корневым элементом документа, поскольку помимо корневого элемента дочерними узлами корня также являются инструкции по обработке и комментарии, которые
Уголовный кодекс Республики Беларусь. Раздел XII. Глава 31. Преступления против информационной безопасности
Уголовный кодекс Республики Беларусь. Раздел XII. Глава 31. Преступления против информационной безопасности Статья 349. Несанкционированный доступ к компьютерной информации.1. Несанкционированный доступ к информации, хранящейся в компьютерной системе, сети или на машинных