Systemsteuerung Nachrichtenverarbeitung
Die CPlApplet-Rückruffunktion verarbeitet alle Nachrichten, die von Windows an ein Systemsteuerung-Element gesendet werden. Nachrichten, die an die Funktion gesendet werden, befinden sich in einer bestimmten Reihenfolge. Das .cpl-Element erfordert, dass die Nachrichten auf eine bestimmte Weise verarbeitet werden.
Zunächst empfängt die Funktion CPlApplet die CPL_INIT Meldung, wenn Windows das Systemsteuerung Element zum ersten Mal lädt. Die Funktion sollte jede Initialisierung durchführen, z. B. die Zuweisung von Arbeitsspeicher, und nonzero zurückgeben. Wenn CPlApplet die Initialisierung nicht abschließen kann, muss null zurückgegeben werden, was Windows anweisen wird, die Kommunikation zu beenden und die DLL freizugeben.
Wenn die CPL_INIT Nachricht erfolgreich war, sendet Windows als Nächstes die CPL_GETCOUNT Nachricht. Die Funktion muss dann die Anzahl Systemsteuerung Elemente zurückgeben, die von der .dll-Datei unterstützt werden.
Die CPlApplet-Funktion empfängt dann eine CPL_INQUIRE Nachricht und eine CPL_NEWINQUIRE Nachricht für jedes Systemsteuerung Element, das von der .dll-Datei unterstützt wird. Die Funktion füllt eine CPLINFO - oder NEWCPLINFO-Struktur mit Informationen zu Ihrem Element aus, z. B. name, Symbol und eine beschreibende Zeichenfolge. Die meisten Anwendungen sollten die CPL_INQUIRE-Nachricht verarbeiten und die CPL_NEWINQUIRE Nachricht ignorieren. Die CPL_INQUIRE Meldung enthält Informationen in einer Form, die Windows zwischenspeichern kann, was zu einer viel besseren Leistung führt. Die CPL_NEWINQUIRE Meldung wird nur verwendet, wenn Sie das Symbol oder die Anzeigezeichenfolgen Ihres Elements basierend auf dem Zustand des Computers ändern müssen. Systemsteuerung Elemente, die CPL_NEWINQUIRE verwenden, können von einer Startmenüsuche in Windows Vista nicht gefunden werden, da sie auf Zwischenspeicherung angewiesen ist.
Die Funktion CPlApplet empfängt als nächstes eine CPL_DBLCLK Meldung als Benachrichtigung, dass der Benutzer das Symbol ausgewählt hat, das das Systemsteuerung-Element darstellt. Die Funktion kann diese Nachricht beliebig oft empfangen. Die Nachricht enthält den Elementbezeichner und den lpData-Zeiger , der in der CPLINFO - oder NEWCPLINFO-Struktur im Aufruf von CPL_INQUIRE oder CPL_NEWINQUIRE zurückgegeben wird. Die Funktion sollte das entsprechende Dialogfeld anzeigen und nachfolgende Benutzereingaben verarbeiten.
Neben CPL_DBLCLK kann die CPL_STARTWPARMS Nachricht gesendet werden, wenn ein Systemsteuerung Element mit Eingabeparametern aufgerufen wird, z. B. von einer Eingabeaufforderung oder aus einem anderen Programm. Die Nachricht enthält den Elementbezeichner zusammen mit der zusätzlichen Parameterzeichenfolge.
Bevor die steuernde Anwendung beendet wird, empfängt CPlApplet die CPL_STOP Nachricht einmal für jedes Systemsteuerung Element, das von der .dll-Datei unterstützt wird. Die Nachricht enthält den Bezeichner für das Systemsteuerung-Element und den lpData-Zeiger, der in der CPLINFO- oder NEWCPLINFO-Struktur im Aufruf von CPL_INQUIRE oder CPL_NEWINQUIRE zurückgegeben wird. Die Funktion sollte den Arbeitsspeicher freigeben, den sie für das angegebene Dialogfeld zugewiesen hat.
Nach der letzten CPL_STOP Nachricht empfängt CPlApplet eine CPL_EXIT Nachricht. Die Funktion sollte den gesamten verbleibenden zugeordneten Arbeitsspeicher freigeben und die Registrierung aller privaten Fensterklassen aufheben, die sie möglicherweise registriert hat. Unmittelbar nachdem die Funktion von dieser Nachricht zurückgegeben wurde, gibt Windows das Systemsteuerung-Element frei, indem die FreeLibrary-Funktion aufgerufen wird.
Zugehörige Themen
-
Erstellen durchsuchbarer Aufgabenlinks für ein Systemsteuerung Element
-
Zugreifen auf die Systemsteuerung im abgesicherten Modus unter Windows Vista