Condividi tramite


Pannello di controllo elaborazione dei messaggi

La funzione di callback CPlApplet elabora tutti i messaggi inviati a un elemento Pannello di controllo da Windows. I messaggi inviati alla funzione sono in un ordine specifico. Con lo stesso token, l'elemento .cpl richiede che i messaggi vengano elaborati in modo specifico.

Prima di tutto, la funzione CPlApplet riceve il messaggio CPL_INIT quando Windows carica per la prima volta l'elemento Pannello di controllo. La funzione deve eseguire qualsiasi inizializzazione, ad esempio l'allocazione della memoria, e restituire un valore diverso da zero. Se CPlApplet non riesce a completare l'inizializzazione, deve restituire zero, indirizzando Windows a terminare la comunicazione e rilasciare la DLL.

Successivamente, se il messaggio di CPL_INIT è riuscito, Windows invia il messaggio di CPL_GETCOUNT. La funzione deve quindi restituire il numero di Pannello di controllo elementi supportati dal file di .dll.

La funzione CPlApplet riceve quindi un messaggio di CPL_INQUIRE e un messaggio CPL_NEWINQUIRE per ogni elemento Pannello di controllo supportato dal file di .dll. La funzione compila una struttura CPLINFO o NEWCPLINFO con informazioni sull'elemento, ad esempio il nome, l'icona e una stringa descrittiva. La maggior parte delle applicazioni deve elaborare il messaggio CPL_INQUIRE e ignorare il messaggio CPL_NEWINQUIRE. Il messaggio CPL_INQUIRE fornisce informazioni in un formato che Windows può memorizzare nella cache, con prestazioni molto migliori. Il messaggio CPL_NEWINQUIRE viene usato solo se è necessario modificare l'icona dell'elemento o visualizzare stringhe in base allo stato del computer. Pannello di controllo elementi che usano CPL_NEWINQUIRE non possono essere trovati da una ricerca di menu Start in Windows Vista perché si basa sulla memorizzazione nella cache.

La funzione CPlApplet riceve quindi un messaggio CPL_DBLCLK come notifica che l'utente ha scelto l'icona che rappresenta l'elemento Pannello di controllo. La funzione potrebbe ricevere questo messaggio un numero qualsiasi di volte. Il messaggio include l'identificatore dell'elemento e il puntatore lpData restituito nella struttura CPLINFO o NEWCPLINFO nella chiamata a CPL_INQUIRE o CPL_NEWINQUIRE. La funzione deve visualizzare la finestra di dialogo corrispondente ed elaborare l'input utente successivo.

Oltre CPL_DBLCLK, il messaggio CPL_STARTWPARMS può essere inviato se viene richiamato un elemento Pannello di controllo con parametri di input, ad esempio da un prompt dei comandi o da un altro programma. Il messaggio include l'identificatore dell'elemento insieme alla stringa di parametro aggiuntiva.

Prima che l'applicazione di controllo termini, CPlApplet riceve il messaggio di CPL_STOP una volta per ogni elemento Pannello di controllo supportato dal file di .dll. Il messaggio include l'identificatore per l'elemento Pannello di controllo e il puntatore lpData restituito nella struttura CPLINFO o NEWCPLINFO nella chiamata a CPL_INQUIRE o CPL_NEWINQUIRE. La funzione deve liberare qualsiasi memoria allocata per la finestra di dialogo specificata.

Dopo l'ultimo messaggio di CPL_STOP, CPlApplet riceve un messaggio di CPL_EXIT. La funzione deve liberare tutta la memoria allocata rimanente e annullare la registrazione di tutte le classi finestra private che potrebbe essere stata registrata. Subito dopo la restituzione della funzione da questo messaggio, Windows rilascia l'elemento Pannello di controllo chiamando la funzione FreeLibrary.

elementi Pannello di controllo

Linee guida sull'esperienza utente

Registrazione di elementi Pannello di controllo

Uso di CPLApplet

Esecuzione di elementi Pannello di controllo

Estensione degli elementi Pannello di controllo di sistema

Assegnazione di categorie di Pannello di controllo

Creazione di collegamenti attività ricercabili per un elemento Pannello di controllo

Accesso al Pannello di controllo in modalità provvisoria in Windows Vista