Рис. 14.5.
Именно благодаря возможности использования подобных обработчиков ContextMenuHandler, PropertySheetHandler и др. программы могут изменять меню правой кнопки мыши как им необходимо. К примеру, добавлять в окно свойств окна для быстрого просмотра изображений. Причем такое окно появляется не для всех типов файлов, а только для тех, в подразделе ShellEx которых присутствует обработчик PropertySheetHandler, а в его подразделе указан нужный идентификатор, — то есть только для файлов картинок.
Параметры и разделы, изменяющие контекстное меню, вносятся программами в реестр при их инсталляции или из диалоговых окон самих программ.
Вряд ли, конечно, тем, кто профессионально не занимается программированием, эти данные пригодятся непосредственно в работе. Но, во всяком случае, теперь вы не будете в реестре гостем, незнакомым с местностью, а сможете понимать назначение его записей. Ну, а если когда-нибудь вы возьметесь за изучение технологии составления программ, то эта информация вам в какой-то степени поможет ее освоить.
В операционных системах Windows 2000 и Windows ХР данный раздел реестра устроен практически так же, как описано выше.
Краткий вывод. Каждый тип файлов, зарегистрированный в системе, представлен в разделе HKEY_CLASSES_ROOT системного реестра в двух местах:
1. В начале раздела, в подразделе с именем расширения этого типа файлов с точкой вначале. Здесь приводится "внутреннее" имя этот типа файлов, а также информация о включении данного типа в меню "Создать…".
2. В подразделе с именем, соответствующим "внутреннему" имени. Здесь указывается "официальное" имя этого типа файлов, а также указывается его иконка и определяются пункты контекстного меню правой кнопки мыши для него.
В реестре встречаются "обломки" предыдущих регистраций в виде подразделов с уже утратившими актуальность "внутренними" именами типов файлов.
Следующий раздел системного реестра, если идти по порядку HKEY_CURRENT_USER. Это — информация, которая меняется от пользователя к пользователю. При входе в операционную систему под другим именем эта часть реестра будет другая. Он состоит из большого количества подразделов.
В разделе AppEvents записана информация о звуковых схемах и назначенных звуках в системе. Именно здесь хранятся те данные, что вы вводите в диалоге Звук Панели управления.
Раздел Clock, как нетрудно понять, посвящен часам — именно тем, что торчат в углу панели задач. Здесь — все их параметры.
Раздел Control Panel содержит в себе информацию о настройках внешнего вида операционной системы. Это, пожалуй, один из самых интересных разделов реестра, так как именно здесь настраиваются разного рода "красивости" интерфейса Windows. Подраздел Appearance содержит в себе информацию о всех возможных цветовых схемах Windows. Эти схемы закладываются в реестр при его создании и именно отсюда берутся данные для окна Свойства экрана — Оформление (рис. 14.6).
Рис. 14.6.
В подразделе Colors расположена информация об оформлении стандартных элементов интерфейса Windows — границ окон, поверхности кнопок и их краев, полос заголовка окна и прокрутки и т. д. Все цвета представлены в виде трех чисел — интенсивности их красного, зеленого и синего компонентов. Некоторые из этих параметров могут быть заданы при создании цветовой схемы, а некоторые — изменены только в реестре. Если хотите, можете немного поиграть с интерфейсом вашей системы.
В подразделе Cursors хранится информация о выбранном наборе изображений курсора и о всех стандартных наборах таких изображений.
Подраздел Desktop и его подразделы посвящены оформлению рабочего стола. Информация о шрифтах окон и меню, отображении полос прокрутки находится здесь. Однако большую часть параметров этого подраздела крайне желательно изменять не из редактора реестра, а из стандартных диалоговых окон, так как, в частности, запись используемых шрифтов здесь ведется в своем особом формате. Некоторые параметры вполне могут корректироваться и впрямую в реестре — скажем, если вы хотите удалить пароль скринсейвера, поставьте значение параметра ScreenSaveUsePassword в 0 (сам пароль хранится в параметре ScreenSave_Data).
Другие подразделы раздела Control Panel имеют чисто служебное значение. Там могут храниться данные о назначении кнопок мыши и т. д.