Dela via


Använda CPLApplet

Innan Windows Vista skapade du ett kontrollpanelobjekt genom att skapa en .dll fil och namnge den med ett .cpl-tillägg. Den här filen exporterade funktionen CPlApplet. Det här schemat stöds fortfarande i Windows Vista och senare versioner och beskrivs i det här avsnittet. Riktlinjerna för nya kontrollpanelsobjekt rekommenderar dock en enklare metod med kontrollpanelens objekt som skapats som en .exe fil som använder en aktivitetsflödeslayout.

När Kontrollpanelen läser in en .dll-fil (eller .cpl) använder den funktionen CPlApplet för att få information, såsom antalet objekt i Kontrollpanelen som filen innehåller, samt uppgifter om varje objekt. Kontrollpanelen anropar även funktionen när objektets fönster initieras, öppnas eller stängs.

När Windows först läser in kontrollpanelens objekt hämtar det adressen till funktionen CPlApplet och använder sedan den adressen för att anropa funktionen och skicka meddelanden. Det kan skicka följande meddelanden.

Meddelande Beskrivning
CPL_DBLCLK Skickas för att meddela CPlApplet att användaren har valt ikonen som är associerad med ett angivet kontrollpanelsobjekt. CPlApplet ska visa dialogrutan för det angivna objektet och utföra alla användardefinierade uppgifter. Parametern CPlAppletlParam1 är ett heltal som representerar det nollbaserade indexet för kontrollpanelens objekt. Parametern lParam2 är det lpData- pekare som returneras i CPLINFO-- eller NEWCPLINFO--struktur i CPL_INQUIRE-- eller CPL_NEWINQUIRE--meddelandet. Returvärdet ignoreras.
CPL_EXIT Skickas efter det senaste CPL_STOP meddelandet och omedelbart innan Windows använder funktionen FreeLibrary för att frigöra DLL-filen som innehåller kontrollpanelens objekt. CPlApplet bör frigöra återstående minne och förbereda för stängning. Returvärdet ignoreras.
CPL_GETCOUNT Skickas efter CPL_INIT meddelande för att uppmana CPlApplet att returnera ett tal som anger hur många underprogram det stöder.
CPL_INIT Skickas omedelbart efter att DLL-filen som innehåller kontrollpanelens objekt har lästs in. Meddelandet uppmanar CPlApplet att utföra initieringsprocedurer, inklusive minnesallokering.
CPL_INQUIRE Skickas efter CPL_GETCOUNT meddelande för att fråga CPlApplet för att ange information om ett angivet underprogram. Värdet lParam1 är ett heltal som representerar det nollbaserade indexet för underprogrammet om vilken information som begärs. Parametern lParam2 för CPlApplet pekar på en CPLINFO- struktur. Returvärdet ignoreras.
CPL_NEWINQUIRE Skickas efter CPL_GETCOUNT meddelande för att fråga CPlApplet för att ange information om ett angivet kontrollpanelobjekt. Värdet lParam1 är ett heltal som representerar det nollbaserade indexet för underprogrammet om vilken information som begärs. Parametern lParam2 är en pekare till en NEWCPLINFO- struktur. CPL_NEWINQUIRE bör normalt ignoreras. Programmet bör endast bearbeta CPL_INQUIRE på Windows 95-, Microsoft Windows NT 4.0- och senare system eftersom Kontrollpanelens prestanda försämras när CPL_NEWINQUIRE används. Det beror på att de returnerade strängarna och ikonerna inte kan cachelagras. Returvärdet ignoreras.
CPL_SELECT Föråldrad. Aktuella versioner av Windows skickar inte det här meddelandet.
CPL_STARTWPARMS Skickas för att meddela CPlApplet att användaren har valt ikonen som är associerad med en viss dialogruta. CPlApplet ska visa motsvarande dialogruta och utföra alla användardefinierade uppgifter. Det här meddelandet liknar CPL_DBLCLK, men det kan finnas ytterligare information. Parametern lParam1 är kontrollpanelens objektnummer och lParam2 är en LPCTSTR till eventuella extra instruktioner som kan vara nödvändiga. Returnera TRUE om det här meddelandet hanteras; annars FALSE. Det här meddelandet är giltigt för version 5.00 och senare av Shell32.dll.
CPL_STOP Skickas en gång för varje kontrollpanelsobjekt i .cpl-filen innan Windows tar bort kontrollpanelens tillägg. CPlApplet bör frigöra minne som är associerat med det angivna numret som angetts i lParam1. Parametern lParam2 är en lpData pekare som returneras i CPLINFO-strukturen eller NEWCPLINFO-strukturen i CPL_INQUIRE-meddelandet eller CPL_NEWINQUIRE-meddelandet. Returvärdet ignoreras.

 

Kontrollpanelens objekt

riktlinjer för användarupplevelse

registrera kontrollpanelsobjekt

Meddelandebearbetning på kontrollpanelen

att köra kontrollpanelsobjekt

Utöka objekt i systemkontrollpanelen

Tilldelning av Kontrollpanelskategorier

Skapa sökbara aktivitetslänkar för ett kontrollpanelsobjekt

Åtkomst till kontrollpanelen i säkert läge under Windows Vista