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