Verwenden von CPLApplet
Vor Windows Vista haben Sie ein Systemsteuerungselement erstellt, indem Sie eine DLL-Datei erstellt und mit einer CPL-Erweiterung benannt haben. Diese Datei hat die CPlApplet-Funktion exportiert. Dieses Schema wird weiterhin in Windows Vista und späteren Versionen unterstützt und in diesem Thema erläutert. Die Richtlinien für neue Systemsteuerungselemente empfehlen jedoch ein einfacheres Vorgehen, wobei das Systemsteuerungselement als EXE-Datei erstellt wird, die ein Aufgabenflusslayout verwendet.
Wenn die Systemsteuerung eine DLL-Datei (oder CPL-Datei) lädt, ruft sie die CPlApplet-Funktion auf, um verschiedene Informationen, beispielsweise die Anzahl der Systemsteuerungselemente in der Datei sowie Informationen zu den einzelnen Elementen, abzurufen. Die Systemsteuerung ruft die Funktion auch auf, wenn das Fenster des Elements initialisiert, geöffnet oder geschlossen wird.
Beim ersten Laden des Systemsteuerungselements ruft Windows die Adresse der CPlApplet-Funktion ab und verwendet diese Adresse anschließend, um die Funktion aufzurufen und Nachrichten an sie zu übergeben. Möglicherweise werden die folgenden Nachrichten gesendet.
Nachricht | Beschreibung |
---|---|
CPL_DBLCLK | Wird gesendet, um CPlApplet zu benachrichtigen, dass der Benutzer das einem bestimmten Systemsteuerungselement zugeordnete Symbol ausgewählt hat. CPlApplet sollte das Dialogfeld für das angegebene Element anzeigen und alle vom Benutzer angegebenen Aufgaben ausführen. Der CPlApplet-Parameter lParam1 ist eine ganze Zahl, die den nullbasierten Index des Systemsteuerungselements darstellt. Der Parameter lParam2 ist der lpData-Zeiger, der in der CPLINFO- oder NEWCPLINFO-Struktur in der CPL_INQUIRE- oder CPL_NEWINQUIRE-Nachricht zurückgegeben wird. Der Rückgabewert wird ignoriert. |
CPL_EXIT | Wird nach der letzten CPL_STOP-Nachricht gesendet und zwar unmittelbar, bevor Windows die FreeLibrary-Funktion verwendet, um die DLL, die das Systemsteuerungselement enthält, freizugeben. CPlApplet sollte den gesamten verbleibenden Arbeitsspeicher freigeben und sich auf das Schließen vorbereiten. Der Rückgabewert wird ignoriert. |
CPL_GETCOUNT | Wird nach der CPL_INIT Nachricht gesendet, um CPlApplet aufzufordern, eine Zahl zurückzugeben, die angibt, wie viele Unterprogramme unterstützt werden. |
CPL_INIT | Wird unmittelbar nach dem Laden der DLL, die das Systemsteuerungselement enthält, gesendet. Die Nachricht fordert CPlApplet auf, Initialisierungsprozeduren auszuführen, einschließlich einer Speicherzuordnung. |
CPL_INQUIRE | Wird nach der CPL_GETCOUNT-Nachricht gesendet, um CPlApplet aufzufordern, Informationen zu einem angegebenen Unterprogramm bereitzustellen. Der lParam1-Wert ist eine ganze Zahl, die den nullbasierten Index des Unterprograms darstellt, zu dem Informationen angefordert werden. Der Parameter lParam2 von CPlApplet verweist auf eine CPLINFO-Struktur. Der Rückgabewert wird ignoriert. |
CPL_NEWINQUIRE | Wird nach der CPL_GETCOUNT-Nachricht gesendet, um CPlApplet aufzufordern, Informationen zu einem angegebenen Systemsteuerungselement bereitzustellen. Der lParam1-Wert ist eine ganze Zahl, die den nullbasierten Index des Unterprograms darstellt, zu dem Informationen angefordert werden. Der Parameter lParam2 ist ein Zeiger auf eine NEWCPLINFO-Struktur. CPL_NEWINQUIRE sollte normalerweise ignoriert werden. Ihre Anwendung sollte CPL_INQUIRE nur in Windows 95, Microsoft Windows NT 4.0 und neueren Systemen verarbeiten, da die Leistung der Systemsteuerung bei Verwendung von CPL_NEWINQUIRE beeinträchtigt wird. Dies liegt daran, dass die zurückgegebenen Zeichenfolgen und Symbole nicht zwischengespeichert werden können. Der Rückgabewert wird ignoriert. |
CPL_SELECT | Veraltet. Aktuelle Versionen von Windows senden diese Nachricht nicht. |
CPL_STARTWPARMS | Wird gesendet, um CPlApplet zu benachrichtigen, dass der Benutzer das einem bestimmten Dialogfeld zugeordnete Symbol ausgewählt hat. CPlApplet sollte das entsprechende Dialogfeld anzeigen und alle vom Benutzer angegebenen Aufgaben ausführen. Diese Nachricht ist ähnlich wie CPL_DBLCLK, enthält aber möglicherweise einige zusätzliche Informationen. Der Parameter lParam1 ist die Nummer des Systemsteuerungselements und lParam2 ist ein LPCTSTR für eventuell erforderliche zusätzliche Anweisungen. Gibt TRUE zurück, wenn diese Nachricht verarbeitet wird; andernfalls FALSE. Diese Nachricht ist für Shell32.dll Version 5.00 und höher gültig. |
CPL_STOP | Wird einmal für jedes Systemsteuerungselement in der CPL-Datei gesendet, bevor Windows die Systemsteuerungserweiterung entlädt. CPlApplet sollte den gesamten der in lParam1 angegebenen Elementnummer zugeordneten Speicher freigeben. Der Parameter lParam2 ist der lpData-Zeiger, der in der CPLINFO- oder NEWCPLINFO-Struktur in der CPL_INQUIRE- oder CPL_NEWINQUIRE-Nachricht zurückgegeben wird. Der Rückgabewert wird ignoriert. |
Zugehörige Themen
-
Erstellen durchsuchbarer Aufgabenlinks für ein Systemsteuerungselement
-
Zugreifen auf die Systemsteuerung im abgesicherten Modus unter Windows Vista