Поделиться через


Регистрация и реализация обработчика листа свойств для приложения панели управления

Во многих приложениях панели управления отображается лист свойств свойств, позволяющий пользователям просматривать и изменять различные параметры устройства и системы. Два из этих приложений — мышь и дисплей — позволяют обработчикам листов свойств заменить одну или несколько страниц на настраиваемую страницу. На следующем снимке экрана показан лист свойств свойств мыши.

лист свойств мыши

Обработчики листов свойств для приложений панели управления похожи на те, которые предназначены для типов файлов с двумя основными исключениями:

  • Они вызываются приложением панели управления, а не оболочкой.
  • Они регистрируются по-разному.

Что нужно знать

Технологии

  • Оболочка

Необходимые условия

  • Понимание панели управления
  • Понимание контекстных меню

Инструкции

Шаг 1. Регистрация обработчика листа свойств для приложения панели управления

Обработчик листа свойств приложения панели управления должен быть зарегистрирован в подразделе "Панель управления". Этот ключ может находиться в одном из двух мест в зависимости от того, должен ли обработчик быть на одного пользователя или на один компьютер. Для регистрации для каждого пользователя подраздел HKEY_CURRENT_USER\панели управления. Макрос REGSTR_PATH_CONTROLPANEL, как определено в Regstr.h, можно использовать в коде вместо панели управления. Для регистрации по компьютеру, местоположение следующее:

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            Current Version
               Controls Folder

Этот путь можно называть в коде HKEY_LOCAL_MACHINE\REGSTR_PATH_CONTROLSFOLDERс помощью макроса REGSTR_PATH_CONTROLSFOLDER, определенного в Regstr.h.

Приложения Панели управления, разрешающие обработчикам листов свойств заменять страницы, имеют подраздел в подразделе Панели управления, названный в честь приложения, такого как Мышь и Экран. В подразделе приложения должен быть подключ shellex с вложенным ключом PropertySheetHandlers. Чтобы зарегистрировать обработчик листа свойств, добавьте его GUID в раздел PropertySheetHandlers, связанный с приложением панели управления. Для этого создайте подключ PropertySheetHandlers, назвав его в честь обработчика листа свойств, и задайте его значение по умолчанию в виде строкового представления GUID обработчика.

В следующем примере регистрируется обработчик листа свойств для приложения панели управления мышью на каждом компьютере. Чтобы зарегистрировать его для каждого пользователя, замените HKEY_LOCAL_MACHINE\REGSTR_PATH_CONTROLSFOLDER на HKEY_CURRENT_USER\REGSTR_PATH_CONTROLPANEL.

HKEY_LOCAL_MACHINE
   REGSTR_PATH_CONTROLSFOLDER
      Mouse
         shellex
            PropertySheetHandlers
               MyPropHandler
                  (Default) = {MyPropHandler CLSID GUID}

Шаг 2. Реализация обработчика листа свойств для приложения панели управления

Процедура реализации обработчика листа свойств панели управления очень похожа на процедуру, описанную в регистрации и реализации обработчика листа свойств длятипа файла. Основное различие заключается в том, что теперь для IShellPropSheetExt::ReplacePage требуется реализация без токенов вместо IShellPropSheetExt::AddPages.

Когда приложение панели управления будет отображать его лист свойств, он вызывает обработчика листа свойств IShellPropSheetExt::ReplacePage метод один раз для каждой страницы, которую можно заменить. Для параметра uPageID задан идентификатор страницы. Идентификаторы доступных страниц определяются в Cplext.h. В настоящее время доступные идентификаторы перечислены в следующей таблице.

Идентификатор страницы Описание Приложение панели управления
СТРАНИЦА_НАСТРОЙКА_КНОПОК_МЫШИ Страница "Кнопки" Мышь
CPLPAGE_MOUSE_PTRMOTION Страница параметров движения Мышь
Страница_Панели_Управления_Колесо_Мыши Страница "Колесо" Мышь
CPLPAGE_KEYBOARD_SPEED Страница "Скорость" Клавиатура
ФОН_СТРАНИЦЫ_УПРАВЛЕНИЯ_ПАРАМЕТРАМИ_ОТОБРАЖЕНИЯ Страница настроек фона Дисплей

 

Замечания

Процедура создания и замены страницы идентична процедуре добавления страницы. Дополнительные сведения см. в разделе Регистрация и реализация обработчика листа свойств длятипа файла.