Sdílet prostřednictvím


Zpracování zpráv v Ovládacích panelech

CPlApplet funkce zpětného volání zpracuje všechny zprávy odeslané do položky Ovládacích panelů systémem Windows. Zprávy odeslané funkci jsou v určitém pořadí. Podobně položka .cpl vyžaduje, aby byly zprávy zpracovány určitým způsobem.

Nejprve funkce CPlApplet obdrží zprávu CPL_INIT při prvním načtení položky Ovládacích panelů systému Windows. Funkce by měla provádět všechny inicializace, jako je přidělování paměti, a vrátit nenulovou hodnotu. Pokud CPlApplet nemůže dokončit inicializaci, musí vrátit nulu, což směruje systém Windows k ukončení komunikace a uvolnění knihovny DLL.

Pokud CPL_INIT zpráva proběhla úspěšně, systém Windows odešle zprávu CPL_GETCOUNT. Funkce pak musí vrátit počet položek Ovládacích panelů podporovaných souborem .dll.

Funkce CPlApplet pak obdrží jednu CPL_INQUIRE zprávu a jednu CPL_NEWINQUIRE zprávu pro každou položku Ovládacích panelů podporovanou souborem .dll. Funkce vyplní CPLINFO nebo NEWCPLINFO strukturu s informacemi o položce, jako je název, ikona a popisný řetězec. Většina aplikací by měla zpracovat zprávu CPL_INQUIRE a ignorovat CPL_NEWINQUIRE zprávu. Zpráva CPL_INQUIRE poskytuje informace ve formuláři, který systém Windows může ukládat do mezipaměti, což vede k mnohem lepšímu výkonu. Zpráva CPL_NEWINQUIRE se používá jenom v případě, že potřebujete změnit ikonu položky nebo zobrazit řetězce na základě stavu počítače. Položky ovládacích panelů, které používají CPL_NEWINQUIRE, nelze najít hledáním nabídky Start v systému Windows Vista, protože spoléhá na ukládání do mezipaměti.

Funkce CPlApplet dále obdrží zprávu CPL_DBLCLK jako oznámení, že uživatel zvolil ikonu představující položku Ovládacích panelů. Funkce může tuto zprávu obdržet libovolně mnohokrát. Zpráva obsahuje identifikátor položky a ukazatel lpData ve struktuře CPLINFO nebo NEWCPLINFO vrácené ve volání CPL_INQUIRE nebo CPL_NEWINQUIRE. Funkce by měla zobrazit odpovídající dialogové okno a zpracovat následující uživatelský vstup.

Kromě CPL_DBLCLK může být zpráva CPL_STARTWPARMS odeslána, pokud je položka Ovládacích panelů vyvolána s vstupními parametry, například z příkazového řádku nebo z jiného programu. Zpráva obsahuje identifikátor položky spolu s dalším řetězcem parametru.

Před ukončením řídicí aplikace CPlApplet obdrží CPL_STOP zprávu jednou pro každou položku Ovládacích panelů podporovanou souborem .dll. Zpráva obsahuje identifikátor položky Ovládacích panelů a ukazatel lpData vrácený v CPLINFO nebo NEWCPLINFO struktuře ve volání CPL_INQUIRE nebo CPL_NEWINQUIRE. Funkce by měla uvolnit veškerou paměť přidělenou pro zadané dialogové okno.

Po poslední CPL_STOP zprávě CPlApplet obdrží CPL_EXIT zprávu. Funkce by měla uvolnit veškerou zbývající přidělenou paměť a zrušit registraci všech tříd privátních oken, které by mohla zaregistrovat. Ihned po návratu funkce z této zprávy systém Windows uvolní položku Ovládací panely voláním FreeLibrary funkce.

položky ovládacích panelů

pokyny pro uživatelské prostředí

registrace položek ovládacích panelů

pomocí CPLApplet

provádění položek ovládacích panelů

rozšíření položek ovládacích panelů systému

přiřazení kategorií ovládacích panelů

Vytváření prohledávatelných odkazů pro úkoly týkající se položky Ovládací panely

přístup k Ovládacím panelům v nouzovém režimu v systému Windows Vista