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.
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.