Секреты Windows: статьи о реестре, rundll32.exe, программах
Глава 1. Настройка интерфейса. 1.4. Стандартные диалоги Windows Дата: 22 июня 2009, понедельник
У вас тоже есть сайт? Мы можем поговорить о сотрудничестве между нашими сайтами. Давайте вместе подумаем, как сделать наши сайты лучше. Предлагайте свои варианты сотрудничества. А может вы программист и хотите написать программу? Какую-нибудь программу, для которой очень подошла бы одна из наших баз данных? Пишите о своих предложениях и сути
программы, которую вы хотите создать.
В первую очередь под сотрудничеством понимается использование наших баз данных в ваших проектах. Например, вы хотите создать программу «редактор реестра», а у нас как раз есть база с описанием более 5000 ветвей и параметров реестра (http://onestyle.com.ua/o.php?p=149). Так почему бы вам не внедрить возможность непосредственно в вашем редакторе реестра просматривать описание параметров реестра, взятое из нашей базы данных? И т.д. Список всех баз данных можно
найти внизу страницы http://onestyle.com.ua/csite.php.
Также мы готовы рассмотреть другие варианты сотрудничества:
Размещение рекламы программы/сайта в рассылке, на сайте, в справочниках (http://onestyle.com.ua/down.php?tag=3) либо платно либо в обмен на размещение рекламы нашего сайта и рассылки в интерфейсе вашей программы.
Мы можем написать и разместить на нашем сайте статью о работе с программой или вашим сайтом. Данную статью также можно отправить на публикацию в журнал «Мой
компьютер». Эту статью вы можете впоследствии разместить на других сайтах. Оплата за статью также либо деньгами либо по бартеру =)
В общем, пишите нам: onestyle [СОБАЧКА] list [ТОЧКА] ru
Возможности большинства стандартных диалогов нельзя изменить — они указаны в какой-либо библиотеке. Однако кроме таких, статичных, диалогов, в операционной системе присутствует набор динамических диалогов, которые содержат в себе списки флажков и переключателей, формируемые на основе данных реестра. Например, к таким диалогам относится диалог НАСТРОЙКА МЕНЮ «ПУСК», содержимое поля которого формируется на основе данных подразделов ветви реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\StartMenu\StartPanel…
Изменение содержимого списков
Данные, помещаемые в списки всех динамических диалогов, формируются при помощи одних и тех же параметров реестра, расположенных в разных ветвях. Причем отдельный флажок или переключатель из списка хранится в отдельном дочернем подразделе соответствующей ветви реестра.
Ветви реестра и диалоги, для формирования которых они предназначены, будут описаны ниже. А пока давайте поговорим о параметрах. Их можно разделить на несколько категорий.
Параметры, определяющие описание элемента списка (название элемента, тип элемента, изображение напротив элемента). Такие параметры имеют строковый тип и описаны в таблице 1.23.
Параметры, определяющие изменяемый элементом параметр реестра. Эти параметры определяют изменяемый данным элементом параметр, а также ветвь реестра, в которой он хранится. Такие параметры имеют строковый тип и описаны в таблице 1.24.
Параметры, определяющие значения изменяемого элементом параметра. Эти параметры определяют значения, которые будут присваиваться соответствующему параметру реестра при изменении состояния элемента списка (например, установке или сбросе флажка). Тип таких параметров, описанных в таблице 1.25, зависит от типа параметра, который изменяется при помощи соответствующего элемента списка.
Таблица 1.23. Параметры, определяющие описание элемента списка
Text. Определяет текст, отображаемый напротив соответствующего элемента списка.
PlugUIText. В ветвях для некоторых диалогов заменяет значение параметра Text.
Bitmap. Определяет путь к изображению, отображаемому напротив элемента типа group.
*Mask. Определяет битовую маску бита параметра, который должен быть изменен после изменения состояния данного элемента списка.
Type. Определяет тип данного элемента списка и может принимать следующие значения: group (подпапка), checkbox (флажок), radio (переключатель).
*HKeyRoot. Хранит корневой раздел, в котором находится параметр, изменяемый данным элементом списка. Может принимать следующие значения: 0х80000000 (раздел HKCR), 0х80000001 (раздел HKCU), 0х80000002 (раздел HKLM), 0х80000003 (раздел HKU)
RegPath. Хранит ветвь реестра (без корневого раздела), в которой находится параметр, изменяемый данным элементом списка.
RegPoliciesPath. Хранит ветвь реестра групповых политик, в которой находится параметр, изменяемый данным элементом списка.
ValueName. Хранит название параметра, изменяемого данным элементом списка.
WarningIfNotDefault. Хранит текст предупреждения, отображаемый перед пользователем при изменении состояния данного элемента списка.
*данный параметр имеет тип DWORD.
Таблица 1.25. Параметры, определяющие значения изменяемого элементом параметра
DefaultValue. Хранит значение по умолчанию параметра, изменяемого данным элементом списка.
CheckedValue. Хранит значение, которое будет присвоено параметру после установки соответствующего флажка или переключателя.
UncheckedValue. Хранит значение, присваиваемое параметру после сброса флажка.
Стандартные списки
А теперь давайте рассмотрим ветви реестра, в которых содержатся описания списков различных динамических диалогов.
SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced. Список ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ на вкладке ВИД диалога СВОЙСТВА ПАПКИ.
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects. Список ОСОБЫЕ ЭФФЕКТЫ на вкладке ВИЗУАЛЬНЫЕ ЭФФЕКТЫ диалога ПАРАМЕТРЫ БЫСТРОДЕЙСТВИЯ (отображается после нажатия на кнопку ПАРАМЕТРЫ…, расположенную в поле БЫСТРОДЕЙСТВИЕ на вкладке ДОПОЛНИТЕЛЬНО диалога СВОЙСТВА СИСТЕМЫ).
HKLM\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions. Список ПАРАМЕТРЫ на вкладке ДОПОЛНИТЕЛЬНО диалога СВОЙСТВА: ИНТЕРНЕТ.
HKLM\SOFTWARE\Microsoft\Windows Mail\Advanced Settings. Список ПАРАМЕТРЫ на вкладке ДОПОЛНИТЕЛЬНО диалога ПАРАМЕТРЫ почтового клиента Почта Windows.
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartMenu. Список ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ МЕНЮ ПУСК диалога НАСТРОЙКА КЛАССИЧЕСКОГО МЕНЮ ПУСК (отображается после нажатия на кнопку НАСТРОИТЬ…, расположенную напротив переключателя КЛАССИЧЕСКОЕ МЕНЮ «ПУСК» на вкладке МЕНЮ «ПУСК» диалога СВОЙСТВА ПАНЕЛИ ЗАДАЧ И МЕНЮ «ПУСК»).
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel. Список ЭЛЕМЕНТЫ МЕНЮ ПУСК диалога НАСТРОЙКА МЕНЮ ПУСК (отображается после нажатия на кнопку НАСТРОИТЬ…, расположенную напротив переключателя МЕНЮ «ПУСК» на вкладке МЕНЮ «ПУСК» диалога СВОЙСТВА ПАНЕЛИ ЗАДАЧ И МЕНЮ «ПУСК»).
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\SO и HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\SOIEAK. Список ПАРАМЕТРЫ диалога ПАРАМЕТРЫ БЕЗОПАСНОСТИ (отображается после нажатия на кнопку ДРУГОЙ на вкладке БЕЗОПАСНОСТЬ диалога СВОЙСТВА: ИНТЕРНЕТ).
Пример использования списков
Для примера посмотрите на reg-файл, приведенный ниже. С его помощью создается новый элемент списка ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ. Результат применения данного reg-файла представлен на рисунке 1.08.
В списке Дополнительные параметры создает раздел Мои настройки.
В разделе Мои настройки создает переключатель.
Определяет положение переключателя и действия, которые будут выполняться при установке этого положения.
Определяет положение переключателя и действия, которые будут выполняться при установке этого положения.
Определяет положение переключателя и действия, которые будут выполняться при установке этого положения.