Korzystanie z aplikacji CPLApplet
Przed systemem Windows Vista utworzono element Panelu sterowania, tworząc plik .dll i nazywając go rozszerzeniem .cpl. Ten plik wyeksportował funkcję CPlApplet. Ten schemat jest nadal obsługiwany w systemie Windows Vista i nowszych wersjach i został omówiony w tym temacie. Jednak wytyczne dotyczące nowych elementów Panelu sterowania zalecają prostsze podejście z elementem Panel sterowania utworzonym jako plik .exe, który używa układu przepływu zadań.
Gdy panel sterowania ładuje plik .dll (lub .cpl), wywołuje funkcję CPlApplet, aby uzyskać informacje, takie jak liczba elementów panelu sterowania obsługiwanych przez plik, a także informacje o każdym elemencie. Panel sterowania wywołuje również funkcję po zainicjowaniu, otwarciu lub zamknięciu okna elementu.
Gdy system Windows najpierw ładuje element Panel sterowania, pobiera adres funkcji CPlApplet, a następnie używa tego adresu do wywołania funkcji i przekazania komunikatów. Może wysyłać następujące komunikaty.
Komunikat | Opis |
---|---|
CPL_DBLCLK | Wysłane w celu powiadomienia CPlApplet, że użytkownik wybrał ikonę skojarzona z danym elementem Panelu sterowania. CPlApplet powinien wyświetlić okno dialogowe dla określonego elementu i wykonać wszystkie zadania określone przez użytkownika. Parametr CPlAppletlParam1 jest liczbą całkowitą reprezentującą indeks zerowy elementu Panelu sterowania. Parametr lParam2 jest wskaźnikiem lpData zwróconym w strukturze CPLINFO lub w strukturze NEWCPLINFO w wiadomości CPL_INQUIRE lub CPL_NEWINQUIRE. Wartość zwracana jest ignorowana. |
CPL_EXIT | Wysłane po ostatnim komunikacie CPL_STOP i bezpośrednio przed użyciem funkcji FreeLibrary, aby zwolnić bibliotekę DLL zawierającą element Panelu sterowania. CPlApplet powinien zwolnić pozostałą pamięć i przygotować się do zamknięcia. Wartość zwracana jest ignorowana. |
CPL_GETCOUNT | Wysłane po komunikacie CPL_INIT, aby zachęcić CPlApplet do zwrócenia liczby wskazującej, ile podprogramów obsługuje. |
CPL_INIT | Wysłane bezpośrednio po załadowaniu biblioteki DLL zawierającej element Panel sterowania. Komunikat monituje CPlApplet w celu wykonania procedur inicjowania, w tym alokacji pamięci. |
CPL_INQUIRE | Wysłane po komunikacie CPL_GETCOUNT w celu wyświetlenia monitu CPlApplet, aby podać informacje o określonym podprogramie. Wartość lParam1 jest liczbą całkowitą reprezentującą indeks zerowy podprogramu, którego informacje są żądane. Parametr lParam2 z CPlApplet wskazuje na strukturę typu CPLINFO. Wartość zwracana jest ignorowana. |
CPL_NEWINQUIRE | Wysłane po komunikacie CPL_GETCOUNT, aby wezwanie CPlApplet spowodowało podanie informacji o określonym elemencie Panelu sterowania. Wartość lParam1 jest liczbą całkowitą reprezentującą indeks zerowy podprogramu, którego informacje są żądane. Parametr lParam2 jest wskaźnikiem do struktury NEWCPLINFO. CPL_NEWINQUIRE zwykle należy ignorować. Aplikacja powinna przetwarzać tylko CPL_INQUIRE w systemach Windows 95, Microsoft Windows NT 4.0 i nowszych, ponieważ użycie CPL_NEWINQUIRE pogarsza wydajność panelu sterowania. Wynika to z faktu, że zwracane ciągi i ikony nie mogą być buforowane. Wartość zwracana jest ignorowana. |
CPL_SELECT | Przestarzały. Bieżące wersje systemu Windows nie wysyłają tej wiadomości. |
CPL_STARTWPARMS | Wysłane w celu powiadomienia CPlApplet, że użytkownik wybrał ikonę skojarzona z danym oknem dialogowym. CPlApplet powinny wyświetlać odpowiednie okno dialogowe i wykonywać wszystkie zadania określone przez użytkownika. Ten komunikat jest podobny do CPL_DBLCLK, ale może istnieć kilka dodatkowych informacji. Parametr lParam1 jest numerem elementu Panelu sterowania i lParam2 jest LPCTSTR do dodatkowych wskazówek, które mogą być konieczne. Zwróć true, jeśli ten komunikat jest obsługiwany; w przeciwnym razie false. Ten komunikat jest prawidłowy dla wersji 5.00 i nowszych Shell32.dll. |
CPL_STOP | Wysłane raz dla każdego elementu Panelu sterowania w pliku .cpl przed zamknięciem rozszerzenia Panelu sterowania. CPlApplet powinna zwolnić dowolną pamięć skojarzoną z numerem elementu podanym w lParam1. Parametr lParam2 jest wskaźnik lpData zwrócony w CPLINFO lub struktura NEWCPLINFO w komunikacie CPL_INQUIRE lub CPL_NEWINQUIRE. Wartość zwracana jest ignorowana. |
Tematy pokrewne
-
przetwarzanie komunikatów Panelu sterowania
-
tworzenie linków zadań z możliwością wyszukiwania dla elementu Panelu sterowania
-
Uzyskiwanie dostępu do Panelu Sterowania w Trybie Awaryjnym w systemie Windows Vista