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

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

Страница свойств свойств мыши

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

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

Это важно знать

Технологии

  • Оболочка

Предварительные требования

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

Инструкции

Шаг 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.

Приложения панель управления, которые позволяют обработчикам листов свойств заменять страницы, имеют подраздел в подразделе панель управления, который называется для приложения, например Mouse и Display. Подраздел приложения должен иметь подраздел 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 требуется реализация nontoken вместо IShellPropSheetExt::AddPages.

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

Идентификатор страницы Описание приложение панель управления
CPLPAGE_MOUSE_BUTTONS Страница "Кнопки" Мышь
CPLPAGE_MOUSE_PTRMOTION Страница "Движение" Мышь
CPLPAGE_MOUSE_WHEEL Страница "Колесо" Мышь
CPLPAGE_KEYBOARD_SPEED Страница "Скорость" Клавиатура
CPLPAGE_DISPLAY_BACKGROUND Фоновая страница Отображение

 

Комментарии

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