Condividi tramite


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

Molte applicazioni del Pannello di controllo visualizzano una finestra delle proprietà Properties per consentire agli utenti di visualizzare e modificare varie impostazioni di dispositivo e sistema. Due di queste applicazioni, Mouse e Display, consentono ai gestori della finestra delle proprietà di sostituire una o più pagine con una pagina personalizzata. La schermata seguente mostra la scheda 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 dalla shell.
  • Vengono registrati in modo diverso.

Cosa è necessario sapere

Tecnologie

  • Guscio

Prerequisiti

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

Disposizioni

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

Un gestore della finestra delle proprietà dell'applicazione Pannello di controllo deve essere registrato nella sottochiave del Pannello di controllo. Questa chiave può trovarsi in una delle due posizioni, a seconda che il gestore sia individuale (per utente) o globale (per computer). Per la registrazione per utente, la sottochiave Pannello di controllo è HKEY_CURRENT_USER\Pannello di controllo. La macro REGSTR_PATH_CONTROLPANEL come definito in Regstr.h può essere usata nel codice al posto di "Pannello di controllo". Per la registrazione per singolo 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 del Pannello di controllo che consentono ai gestori della finestra delle proprietà di sostituire le pagine hanno una sottochiave nella sottochiave del 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 relativo GUID alla sottochiave PropertySheetHandlers associata all'applicazione Pannello di controllo. A tale scopo, creare una sottochiave della sottochiave PropertySheetHandlers, nominata secondo 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 delle proprietà per l'applicazione Pannello di controllo del mouse per singolo computer. Per registrarla in base all'utente, sostituire HKEY_LOCAL_MACHINE\REGSTR_PATH_CONTROLSFOLDER con HKEY_CURRENT_USER\REGSTR_PATH_CONTROLPANEL.

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 del Pannello di controllo

La procedura per l'implementazione di un gestore della finestra delle proprietà del 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 del gestore della finestra delle proprietà IShellPropSheetExt::ReplacePage 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. Nella tabella seguente sono elencati gli ID attualmente disponibili.

ID pagina Descrizione Applicazione Pannello di controllo
CPLPAGE_PULSANTI_DEL_MOUSE La Pagina dei Pulsanti Mouse
CPAGINA_MOUSE_MOVIMENTO_DEL_PUNTATORE Pagina del Movimento mouse
CPLPAGE_MOUSE_WHEEL Pagina Wheel Mouse
Velocità della tastiera Pagina Velocità Tastiera
SFONDO_VISUALIZZAZIONE_CPLPAGE La pagina di sfondo Schermo

 

Osservazioni

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 di schede proprietà per un tipo di file.