Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Всё о работе в Интернет" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Секреты Windows: статьи о реестре, rundll32.exe, программах Реестр Windows Vista. Основные сведения о реестре - 2
Уважаемые подписчики, на нашем сайте появился новый раздел — Задать вопрос (http://onestyle.com.ua/q.php). Если у вас есть вопросы по работе с операционной системой Windows, вы можете задать их нам и нашим посетителям. Быть может, мы сможем помочь вам решить возникшие проблемы. Другие наши рассылки: Новости нашего сайта:
Продолжение, начало в выпусках: 1 Книга "Реестр Windows Vista. На 100%", Глава 1. Основные сведения о реестре, Часть 2. Что такое реестр: ветви и типы параметров. Корневые разделы и ветви реестраКак было сказано выше, каждый файл куста содержит в себе определенную ветвь реестра. Но что же представляет собой ветвь реестра? Во избежание путаницы и для облегчения работы с реестром, программисты Microsoft создали его в виде древовидной структуры, которая состоит из подразделов и параметров. Параметр реестраПараметр реестра представляет собой значение определенного типа, которое используется конкретной программой или операционной системой для определения того, как она должна работать. Если говорить образно, параметр можно сравнить с файлом в файловой системе компьютера. Подраздел реестраКаждый подраздел реестра можно сравнить с папкой в файловой системе компьютера. Он может хранить в себе параметры реестра и другие подразделы. Ветвь реестраА ветвь реестра представляет собой путь к определенной части реестра, который состоит из последовательности подразделов, которые нужно открыть, чтобы добраться до конечного подраздела в ветви реестра. Ветвь реестра имеет следующий формат: «корневой раздел реестра»\«подраздел»\«подраздел»\«…»\«конечный подраздел». Например, если сказано, что определенный параметр находится в ветви реестра HKCU\Control Panel\Desktop, значит он находится в подразделе Desktop, который находится в подразделе Control Panel. А вот подраздел Control Panel находится в корневом разделе HKEY_CURRENT_USER. Надеюсь, вы не пропустили введение к данной книге, в котором говорилось, что вместо названий корневых разделов мы будем использовать стандартные сокращения, введенные самой Microsoft. Возникает законный вопрос — а что такое корневой раздел? Корневой разделКорневой раздел — это всего-навсего подраздел реестра, выше которого ничего нет. Также его можно назвать системным подразделом, удалить или переименовать который нельзя, и в котором содержатся другие подразделы реестра. В операционной системе Windows Vista реестр состоит из пяти корневых разделов. HKEY_CLASSES_ROOTДанный корневой раздел содержит в себе всю информацию о зарегистрированных в операционной системе типах расширений файлов, а также о содержимом их контекстного меню, диалога СВОЙСТВА, значке файла и многом другом. Кроме того, содержимое данного корневого раздела хранит описание всех зарегистрированных в операционной системе ActiveX-объектов. Фактически, корневой раздел HKEY_CLASSES_ROOT не существует в реестре. Данный корневой раздел является ссылкой на содержимое двух других ветвей реестра: ветвей HKLM\SOFTWARE\Classes и HKCU\Software\Classes. При этом данные, содержащиеся в ветви реестра HKCU\Software\Classes, заменяют собой данные из ветви реестра HKLM\SOFTWARE\Classes. Не имеет никакой разницы, содержимое какой ветви реестра редактировать. Любые изменения, которые будут внесены в ветви реестра HKLM\SOFTWARE\Classes или HKCU\Software\Classes, будут сразу же отображаться и в корневом разделе HKEY_CLASSES_ROOT. Если же вы изменяете содержимое корневого раздела HKEY_CLASSES_ROOT, то фактически вы изменяете содержимое ветви реестра HKLM\SOFTWARE\Classes. Содержимое корневого раздела HKEY_CLASSES_ROOT доступно для редактирования только операционной системе и администратору (администратору доступны не всех ветви реестра). Однако администратор может самостоятельно изменить разрешена для конкретной ветви реестра, предоставив себе права записи. HKEY_CURRENT_USERДанный корневой раздел содержит в себе всю информацию о текущем пользователе системы и, с точки зрения реестра, является профилем пользователя. Как и корневой раздел HKEY_CLASSES_ROOT, данный корневой раздел физически отсутствует в реестре. Он является лишь ссылкой на ветвь реестра HKEY_USERS\«SID учетной записи пользователя». Практически все содержимое данного корневого раздела могут редактировать не только администраторы, но и пользователь, которому принадлежит профиль. Исключение составляют только настройки ограничений в ветвях реестра, используемых групповыми политиками (ветви реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Policies и HKCU\Software\Policies), а также ветвь реестра HKCU\Software\Microsoft\Protected Storage System Provider, в которой почтовый клиент Windows Mail хранит пароли своих пользователей. Данные ветви реестра доступны только администраторам. HKEY_LOCAL_MACHINEДанный корневой раздел хранит в себе большую часть информации, которая относится к настройкам локального компьютера (сведения о драйверах, портах, службах и самой операционной системе), а также глобальные настройки различных программ. Многие параметры, которые хранятся в подразделах ветви реестра HKLM\SOFTWARE\Microsoft данного корневого раздела, могут дублироваться в ветви HKCU\SOFTWARE\Microsoft. Как правило, в этих случаях операционная система будет использовать значения из корневого раздела HKEY_CURRENT_USER, так как они относятся к настройкам конкретного пользователя. Большую часть содержимого данного корневого раздела могут редактировать только администраторы. Хотя некоторые настройки могут быть доступны и обычным пользователям. HKEY_USERSДанный корневой раздел содержит в себе все профили пользователей, которые загружены операционной системой в данный момент. Также в данном корневом разделе содержатся загруженные классы пользователей. Данный корневой раздел разрешено редактировать только администратору и учетной записи локальной системы. HKEY_CURRENT_CONFIGКак и корневые разделы HKEY_CLASSES_ROOT и HKEY_CURRENT_USER, данный корневой раздел физически не существует в реестре. Он является ссылкой на ветвь реестра HKLM\SYSTEM\CurrentControlSet\Hardware Profiles\Current. Данный корневой раздел хранит в себе информацию о настройках оборудования, используемого на локальном компьютере в данном сеансе работы. Типы параметров реестраВ зависимости от информации, которую можно хранить в параметре реестра, он может быть нескольких типов. При этом, не зависимо от типа параметра, операционная система налагает на него ограничение в максимальном размере. Если параметр содержит значение в формате ASCII, он не может содержать более 260 символов. Если же параметр содержит значение в формате Unicode, то максимальное количество символов для данного параметра равно 16 383. Как правило, основные параметры реестра, создаваемые при инсталляции операционной системы, имеют формат Unicode. Кодировка Unicode является 16-битным стандартом (на один символ выделяется 2 байта, тогда как в кодировке ASCII выделяется только 1 байт), что обеспечивает возможность хранения 65536 уникальных символов Ниже мы перечислим все типы параметров, которые могут находиться в реестре операционной системы Windows Vista. Тип REG_BINARYПараметры данного типа содержат в себе последовательность двоичных данных, которые в реестре хранятся в шестнадцатеричном формате. Например, многие параметры, содержащие в себе сведения о настройках аппаратной части компьютера, имеют этот тип. Как правило, если размер значения параметра типа REG_BINARY не больше 4 байт, его можно безболезненно заменить на параметр, имеющий тип REG_DWORD. Однако при этом не следует забывать, что значения параметров типа REG_DWORD хранятся в противоположном порядке, чем значения параметров типа REG_BINARY. Например, если значение параметра типа REG_BINARY равно 12 34 56 78, то аналогичное значение в параметре типа REG_DWORD будет равно 0x78563412. Доказательство данного утверждения можно легко увидеть при помощи редактора реестра regedit.exe, о котором будет рассказано далее в этой книге. Тип REG_DWORDПараметры данного типа содержат в себе двоичные данные, длина которых составляет 4 байта. Большинство параметров реестра числового типа имеют именно этот тип. Как уже было сказано выше, параметры типа REG_DWORD отличаются от параметров типа REG_BINARY не только максимальной длиной параметра (для REG_BINARY длина неограниченна, а для REG_DWORD — четыре байта), но и порядком хранения этих данных в памяти. Разновидностью параметров типа REG_DWORD являются параметры типов REG_DWORD_LITTLE_ENDIAN и REG_DWORD_BIG_ENDIAN. Отличие данных параметров от параметра REG_DWORD и от самих себя, только в одном. Если параметр REG_DWORD_LITTLE_ENDIAN хранит самый младший байт своего значения на первом месте в памяти, то параметр REG_DWORD_BIG_ENDIAN хранит младший байт на последнем месте в памяти. Тип REG_QWORDПараметры данного типа содержат в себе двоичные данные, длина которых составляет 8 байт. Во всем остальном параметры данного типа аналогичны параметрам типа REG_DWORD. Тип REG_EXPAND_SZПараметры данного типа представляют собой строковые параметры, которые могут содержать в себе различные переменные окружения. Переменной окружения можно назвать строку текста, которая при обработке преобразовывается в какое-либо системное значение. Например, в параметрах данного типа вы можете использовать следующие стандартные переменные.
Также в параметрах данного типа вы можете использовать все переменные, которые описаны в диалоге ПЕРЕМЕННЫЕ СРЕДЫ. Данный диалог можно вызвать при помощи команды rundll32.exe sysdm.cpl, EditEnvironmentVariables, либо при помощи кнопки ПЕРЕМЕННЫЕ СРЕДЫ, расположенной на вкладке ДОПОЛНИТЕЛЬНО диалога СВОЙСТВА: СИСТЕМА. В параметрах данного типа может находиться только одна строчка текста. Тип REG_MULTI_SZПараметры данного типа представляют собой строковые параметры, в которых могут находиться сразу несколько строк текста. Тип REG_SZПараметры данного типа представляют собой обычные строковые параметры. Они не могут содержать в своем составе переменных (переменные интерпретируются как обычный текст). И в параметрах данного типа может находиться только одна строчка текста. Тип REG_RESOURCE_LIST Параметры данного типа хранят в себе последовательность вложенных массивов в двоичном виде, и служат для хранения списка ресурсов. Например, параметры данного типа можно встретить в подразделах ветви реестра HKLM\HARDWARE\RESOURCEMAP. Дочерние подразделы данной ветви реестра не содержат параметров других типов, кроме параметров типа REG_RESOURCE_LIST и REG_RESOURCE_REQUIREMENTS_LIST. Тип REG_RESOURCE_REQUIREMENTS_LISTПараметры данного типа хранят в себе последовательность вложенных массивов в двоичном виде, и служат для хранения списка драйверов, которые могут быть использованы другим драйвером устройства. Например, параметры данного типа также можно встретить в подразделах ветви реестра HKLM\HARDWARE\RESOURCEMAP. Тип REG_FULL_RESOURCE_DESCRIPTORПараметры данного типа хранят в себе последовательность вложенных массивов в двоичном виде, и служат для хранения списка ресурсов, которые используются физическим устройством. Например, параметры данного типа также можно встретить в подразделах ветви реестра HKLM\HARDWARE\DESCRIPTION. Тип REG_NONEПараметры данного типа не имеют определенного двоичного или строкового типа. В редакторах реестра они отображаются в виде параметров двоичного типа. Тип REG_LINKПараметры данного типа представляют собой символическую ссылку в формате Unicode. Битовая маскаБитовая маска не является типом параметра реестра. Это стандартный способ описания назначения отдельных битов параметра, имеющего тип REG_DWORD или REG_BINARY. Например, формат описания битовых масок приведен ниже.
Особенностью битовых масок является то, что в параметре может быть установлено сразу несколько битов. В этом случае результат действия данного параметра определяется суммой соответствующих установленным битам описаний. Использование битовых масок позволяет упростить описание и изменение значения сложных параметров (биты которых определяют разные настройки поведения операционной системы или программы). Например, если перед вами будет поставлена задача установить биты параметра, которые были указаны выше в примере битовой маски, вам достаточно будет выполнить следующие арифметические операции.
Продолжение следует Рейтинг: 0 В начало записиОцените: 1 2 3 4 5 Оригинал статьи: http://www.onestyle.com.ua/txt.php?u=268
|
В избранное | ||