Registrieren und Implementieren eines Eigenschaftenblatthandlers für eine Systemsteuerung-Anwendung

Viele Systemsteuerung Anwendungen zeigen ein Eigenschaftenfenster an, damit Benutzer verschiedene Geräte- und Systemeinstellungen anzeigen und ändern können. Zwei dieser Anwendungen – Maus und Anzeige – ermöglichen es Eigenschaftsblatthandlern, eine oder mehrere ihrer Seiten durch eine benutzerdefinierte Seite zu ersetzen. Der folgende Screenshot zeigt das Eigenschaftenblatt Mauseigenschaften .

Eigenschaftenblatt mit Mauseigenschaften

Eigenschaftenblatthandler für Systemsteuerung Anwendungen ähneln denen für Dateitypen, mit zwei primären Ausnahmen:

  • Sie werden von einer Systemsteuerung Anwendung aufgerufen, nicht von der Shell.
  • Sie werden unterschiedlich registriert.

Wichtige Informationen

Technologien

  • Shell

Voraussetzungen

  • Verständnis der Systemsteuerung
  • Verständnis von Kontextmenüs

Anweisungen

Schritt 1: Registrieren eines Eigenschaftenblatthandlers für eine Systemsteuerung-Anwendung

Ein Systemsteuerung Anwendungseigenschaftenblatthandler muss unter dem unterschlüsselten Systemsteuerung registriert sein. Dieser Schlüssel kann sich an einem von zwei Speicherorten befinden, je nachdem, ob der Handler benutzer- oder computerbezogen sein soll. Bei der Registrierung pro Benutzer ist der Systemsteuerung Unterschlüssel HKEY_CURRENT_USER\Systemsteuerung. Das Makro REGSTR_PATH_CONTROLPANEL, wie in Regstr.h definiert, kann im Code anstelle von "Systemsteuerung" verwendet werden. Für die Registrierung pro Computer lautet der Speicherort:

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            Current Version
               Controls Folder

Dieser Pfad kann im Code als HKEY_LOCAL_MACHINE\REGSTR_PATH_CONTROLSFOLDER bezeichnet werden, wobei das in Regstr.h definierte REGSTR_PATH_CONTROLSFOLDER Makro verwendet wird.

Die Systemsteuerung Anwendungen, mit denen Eigenschaftenblatthandler Seiten ersetzen können, verfügen unter dem Unterschlüssel des Systemsteuerung über einen Unterschlüssel, der für die Anwendung benannt ist, z. B. Maus und Anzeige. Der Unterschlüssel der Anwendung muss über einen Shellex-Unterschlüssel mit einem PropertySheetHandlers-Unterschlüssel verfügen. Um einen Eigenschaftenblatthandler zu registrieren, fügen Sie dessen GUID dem PropertySheetHandlers-Unterschlüssel hinzu, der der Systemsteuerung-Anwendung zugeordnet ist. Erstellen Sie hierzu einen Unterschlüssel des Unterschlüssels PropertySheetHandlers , der für den Eigenschaftenblatthandler benannt ist, und legen Sie dessen Standardwert auf die Zeichenfolgenform der GUID des Handlers fest.

Im folgenden Beispiel wird ein Eigenschaftenblatthandler für die Maus-Systemsteuerung-Anwendung auf Computerbasis registriert. Um sie benutzerbezogen zu registrieren, ersetzen Sie HKEY_LOCAL_MACHINE\REGSTR_PATH_CONTROLSFOLDER durch HKEY_CURRENT_USER\REGSTR_PATH_CONTROLPANEL.

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

Schritt 2: Implementieren eines Eigenschaftenblatthandlers für eine Systemsteuerung-Anwendung

Das Verfahren zum Implementieren eines Systemsteuerung Eigenschaftenblatthandlers ähnelt dem verfahren, das unter Registrieren und Implementieren eines Eigenschaftenblatthandlers für einen Dateityp erläutert wird. Der Hauptunterschied besteht darin, dass IShellPropSheetExt::ReplacePage jetzt eine nontoken-Implementierung anstelle von IShellPropSheetExt::AddPages benötigt.

Wenn eine Systemsteuerung Anwendung ihr Eigenschaftenblatt anzeigt, ruft sie die IShellPropSheetExt::ReplacePage-Methode des Eigenschaftenblatthandlers einmal für jede Seite auf, die ersetzt werden kann. Der uPageID-Parameter ist auf die ID der Seite festgelegt. Die IDs für die verfügbaren Seiten werden in Cplext.h definiert. Die derzeit verfügbaren IDs sind in der folgenden Tabelle aufgeführt.

Seiten-ID BESCHREIBUNG Systemsteuerung Anwendung
CPLPAGE_MOUSE_BUTTONS Seite Schaltflächen Maus
CPLPAGE_MOUSE_PTRMOTION Seite "Bewegung" Maus
CPLPAGE_MOUSE_WHEEL Seite "Rad" Maus
CPLPAGE_KEYBOARD_SPEED Seite "Geschwindigkeit" Tastatur
CPLPAGE_DISPLAY_BACKGROUND Seite "Hintergrund" Anzeige

 

Bemerkungen

Das Verfahren zum Erstellen und Ersetzen einer Seite ist identisch mit dem zum Hinzufügen einer Seite. Weitere Informationen finden Sie unter Registrieren und Implementieren eines Eigenschaftenblatthandlers für einen Dateityp.