на главную | войти | регистрация | DMCA | контакты | справка | donate |      

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


моя полка | жанры | рекомендуем | рейтинг книг | рейтинг авторов | впечатления | новое | форум | сборники | читалки | авторам | добавить



Создание интерфейса для настроек реестра

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

Зачем вам это делать? Возможно, из-за настроек реестра, которые вы часто меняете, или, возможно, вы администрируете здание, полное компьютеров и вам хотелось бы показать какое-то свойство пользователям остальных компьютеров, но вы не хотите, чтобы они сами как-то вмешивались в работу реестра. (Или, наоборот, есть настройки, которые вы хотели бы спрятать от остальных пользователей.)

. 3.9), очевидно, что можно было бы разместить большее количество параметров. Однако это далекое от идеала представление способно подстраиваться под требования заказчика, разрешая Microsoft (или вам) легко добавлять или удалять элементы.

Вы, наверное, предположили, что Microsoft не сделала список параметров настраиваемым только для того, чтобы вы не смогли вмешаться в работу Windows. Этот список сделан гак, чтобы его можно было приспособить к разнообразным настройкам версий Windows (фактические параметры, представленные в нем, зависят от версии Windows 7). Но это не значит, что вы не можете его изменять.

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

Формат записи довольно хорошо продуман, так что вам не нужно быть программистом, чтобы его использовать. Вы можете добавить параметры в определенный раздел реестра, а затем привязать их к значениям из реестра. Вот как следует это делать:

1. Откройте редактор реестра.

2. Перейдите к HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ Explorer\Advanced\Folder.

Посмотрите на разделы внутри раздела Folder. Иерархическая структура воспроизведена в реестре, хотя элементы списка M017T появляться в порядке, отличном от их представления в реестре. Так получается из-за того, что названия в списке параметров папок не обязательно должны совпадать с названиями соответствующих разделов реестра, хотя в обоих случаях названия будут расположены в алфавитном порядке.

3. Воспользуйтесь возможностью выполнить резервное копирование всей ветви, выделив раздел Folder. Таким образом, можно будет проще восстановить значения по умолчанию без переустановки Windows.

4. На этом шаге вы можете убрать любые ненужные элементы, удалив соответствующие разделы из этой ветви. Значения параметра Text должно быть достаточно, чтобы пояснить, для чего он нужен.

5. Для добавления нового элемента необходимо создать новый раздел внутри раздела Folder. Назовите его любым осмысленным именем, не совпадающим с существующими именами разделов.

Некоторые настройки разделены на группы, например Скрытые файлы и папки, 0%^ содержащие переключатель. Группа — это раздел в реестре, такой как раздел Ф Hidden, который может содержать два или более подраздела. В групповом разделе необходимо задать заголовок и изображение значка, а затем указать в параметре Туре значение group. Поместите все необходимые элементы в этот подраздел. Если вы запутались, то используйте раздел Hidden в качестве образца.

6. Значения внутри каждого раздела определяют свойства соответствующей настройки.

Начните с добавления нового строкового значения для параметра Text, дважды щелкните на нем мышкой, чтобы ввести заголовок нового элемента. Теперь добавьте еще одно строковое значение с именем Туре и введите либо group, либо checkbox, либо radio. Эти значения определяют внешний вид новой настройки (табл. 3.2).

Таблица 3.2. Визуальные свойства элементов
ИмязначенияТипданныхОписание содержания значения
ТуреСтрокаПараметр может принимать значение group, checkbox или radio, соответствующее папке, флажку или переключателю. Флажок — это «квадратик» меню, который может быть либо включен, либо выключен. Переключатель — «кружочек» меню, только один пункт внутри этой папки может быть выбран (существуют составные группы переключателей). Папки используются и для организации других параметров. Параметр Туре требуется всем элементам
Имя Тип Описание содержания значения значения данных_
TextСтрокаЭто заголовок параметра, появляющийся в диалоговом окне. Он может быть каким угодно, но первое слово нужно написать с про-писной буквы, а точку не ставить. Параметр Text требуется всем элементам
BitmapСтрокаПараметр определяет изображение, используемое для элементов папки. Если его не указать, на месте рисунка появится некрасивая изогнутая стрелка. Формат записи — filename, index, где filename — это полный путь и имя файла, содержащего изображение, a index— это номер изображения (если файл содержит более одного изображения). Для отображения знакомой желтой папки введите значение %SystemRoot%\system32\Shell32.dll,4- Этот параметр не влияет на флажки и переключатели
HelpIDСтрокаПараметр указывает на документацию для соответствующего элемента. Если выбрать элемент и нажать F1, то этот параметр найдет нужную подсказку. Формат записи — filename#id, где filename — это имя файла .hip или .chm, a id — это числовой идентификатор подсказки, которую вы хотите вывести на экран. Чтобы показать оглавление справочного файла, следует опустить параметр id

7. Добавьте элементы (табл. 3.3) в соответствующий раздел реестра. Для настройки переключателя и флажка вам потребуются HKeyRoot, RegPath, ValueName и CheckedValue. (Этот шаг можно пропустить, если элемент является группой.)

Таблица 3.3. Свойства элементов, связанные с реестром
Имя значенияТипданныхОписание содержания значения
HKeyRootDWORDЧисло, соответствующее пути в реестре. Используйте шестнадцатеричное число 80000000 для HKEY_ CLASSES_ROOT, 80000001 для HKEY_CURRENTJJSER, 80000002 для HKEY_LOCAL_MACHINE, 80000003 для HKEYJJSERS, 80000005 для HKEY_CURRENT_CONFIG. Параметр должен быть задан отдельно от пути, указанного в RegPath. Параметр обязателен для всех флажков и переключателей
RegPathСтрокаПуть, описывающий нахождение параметра в реестре без учета корневого каталога (см. HKeyRoot). Для раздела HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion достаточно указать Software\ Microsoft\Windows\CurrentVersion. Параметр обязателен для всех флажков и переключателей
ValueNameСтрокаИмя параметра. В этом параметре хранится информация о том, включена или выключена опция в окне Параметры папок. Путь к разделу, содержащему это значение, задан параметрами RegPath и HKeyRoot Параметр обязателен для всех флажков и переключателей
продолжение iP
Таблица 3.3 (продолжение)
Имя значенияТипданныхОписание содержания значения
CheckedValueДолженсоответствоватьпараметруПараметр удерживает информацию о том, включен ли параметр, чтобы сохранить ее в реестре (заданном параметрами RegPath и ValueName). Если вы задаете параметр для Windows 9х/Ме и Windows 7/2000, используйте вместо этого значения параметры CheckedValueW95 и CheckedValueNT. Параметр обязателен для всех флажков и переключателей
CheckedValueW95ДолженсоответствоватьпараметруПараметр заменяет CheckedValue, если вы описываете параметр, который будет использоваться и в системе Windows 9х/Ме, и в системе Windows 7/2000. Это значение содержит информацию, которая будет использована при запуске Windows 9х/Ме. Используется в паре с CheckedValueNT
CheckedValueNTДолженсоответствоватьпараметруПараметр заменяет CheckedValue, если вы описываете параметр, который будет использоваться и в системе Windows 9х/Ме, и в системе Windows 7/2000. Используется в паре с CheckedValueW95
UnCheckedValueДолженсоответствоватьпараметруПараметр удерживает информацию, чтобы сохранить ее в реестре, когда опция выключена. Параметр может отсутствовать, при этом предполагается, что он равен нулю
DefaultValueДолженсоответствоватьпараметруДанные, которые Windows присваивает, если в окне Параметры папок была нажата кнопка Восстановить значения по умолчанию. Параметр может отсутствовать, при этом предполагается, что он равен нулю
т

9. Закройте редактор реестра.

В следующий раз, когда вы будете открывать диалоговое окно Параметры папок, текущая информация будет сравниваться с CheckedValue и UnCheckedValue и список Дополнительных параметров будет настроен в соответствии с вашими пожеланиями. Другими словами, если вы все сделали правильно, каждый параметр в Дополнительных параметрах должен правильно отражать свое текущее состояние. Измените настройки, нажмите ОК, и соответствующие параметры будут прописаны в реестре.

Для воспроизведения настройки в любом другом месте в интерфейсе Windows или в интерфейсе другого приложения необходимо найти соответствующий раздел реестра, как описано в разделе «Расположение раздела настроек реестра».


Расположение раздела настроек реестра | Хитрости Windows 7. Для профессионалов | Экспорт и импорт файлов реестра