Come registrare e implementare un gestore della finestra delle proprietà per un'applicazione Pannello di controllo

Molte applicazioni Pannello di controllo visualizzano una finestra delle proprietà Proprietà per consentire agli utenti di visualizzare e modificare varie impostazioni del dispositivo e del sistema. Due di queste applicazioni, Mouse e Display, consentono ai gestori delle finestre delle proprietà di sostituire una o più pagine con una pagina personalizzata. La schermata seguente mostra la finestra delle proprietà Proprietà mouse .

finestra delle proprietà del mouse

I gestori delle finestre delle proprietà per le applicazioni Pannello di controllo sono simili a quelli per i tipi di file, con due eccezioni principali:

  • Vengono chiamati da un'applicazione Pannello di controllo, non da Shell.
  • Vengono registrati in modo diverso.

Informazioni importanti

Tecnologie

  • Shell

Prerequisiti

  • Conoscenza del Pannello di controllo
  • Conoscenza dei menu di scelta rapida

Istruzioni

Passaggio 1: Registrazione di un gestore della finestra delle proprietà per un'applicazione Pannello di controllo

Un gestore della finestra delle proprietà dell'applicazione Pannello di controllo deve essere registrato nella sottochiave Pannello di controllo. Questa chiave può trovarsi in una delle due posizioni, a seconda che il gestore sia per utente o per computer. Per la registrazione per utente, la sottochiave Pannello di controllo è HKEY_CURRENT_USER\Pannello di controllo. La macro REGSTR_PATH_CONTROLPANEL definita in Regstr.h può essere usata nel codice al posto di "Pannello di controllo". Per la registrazione per computer, il percorso è:

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            Current Version
               Controls Folder

Questo percorso può essere definito nel codice come HKEY_LOCAL_MACHINE\REGSTR_PATH_CONTROLSFOLDER, usando la macro REGSTR_PATH_CONTROLSFOLDER definita in Regstr.h.

Le applicazioni Pannello di controllo che consentono ai gestori delle finestre delle proprietà di sostituire le pagine hanno una sottochiave sottochiave della Pannello di controllo, denominata per l'applicazione, ad esempio Mouse e Display. La sottochiave dell'applicazione deve avere una sottochiave shellex con una sottochiave PropertySheetHandlers . Per registrare un gestore della finestra delle proprietà, aggiungere il GUID alla sottochiave PropertySheetHandlers associata all'applicazione Pannello di controllo. A tale scopo, creare una sottochiave della sottochiave PropertySheetHandlers , denominata per il gestore della finestra delle proprietà e impostarne il valore predefinito sul formato stringa del GUID del gestore.

Nell'esempio seguente viene registrato un gestore della finestra delle proprietà per l'applicazione Mouse Pannello di controllo in base al computer. Per registrarla in base all'utente, sostituire HKEY_LOCAL_MACHINE REGSTR_PATH_CONTROLSFOLDER\ conREGSTR_PATH_CONTROLPANEL HKEY_CURRENT_USER\.

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

Passaggio 2: Implementazione di un gestore della finestra delle proprietà per un'applicazione Pannello di controllo

La procedura per l'implementazione di un gestore della finestra delle proprietà Pannello di controllo è molto simile a quella descritta in Come registrare e implementare un gestore della finestra delle proprietà per un tipo di file. La differenza principale è che ora IShellPropSheetExt::ReplacePage richiede un'implementazione nonken anziché IShellPropSheetExt::AddPages.

Quando un'applicazione Pannello di controllo sta per visualizzare la relativa finestra delle proprietà, chiama il metodo IShellPropSheetExt::ReplacePage del gestore della finestra delle proprietà una volta per ogni pagina che può essere sostituita. Il parametro uPageID è impostato sull'ID della pagina. Gli ID per le pagine disponibili sono definiti in Cplext.h. Gli ID attualmente disponibili sono elencati nella tabella seguente.

ID pagina Descrizione applicazione Pannello di controllo
CPLPAGE_MOUSE_BUTTONS Pagina Pulsanti Mouse
CPLPAGE_MOUSE_PTRMOTION Pagina Movimento Mouse
CPLPAGE_MOUSE_WHEEL Pagina Ruota Mouse
CPLPAGE_KEYBOARD_SPEED Pagina Velocità Tastiera
CPLPAGE_DISPLAY_BACKGROUND Pagina Sfondo Visualizza

 

Commenti

La procedura per la creazione e la sostituzione di una pagina è identica a quella per l'aggiunta di una pagina. Per altre informazioni, vedere Come registrare e implementare un gestore della finestra delle proprietà per un tipo di file.