Использование CPLApplet
До выпуска Windows Vista вы создавали элемент панель управления, создав файл .dll и назвав его с расширением .cpl. Этот файл экспортировал функцию CPlApplet . Эта схема по-прежнему поддерживается в Windows Vista и более поздних версиях и рассматривается в этом разделе. Однако в рекомендациях по новым элементам панель управления рекомендуется более простой подход с панель управления элементом, созданным в виде файла .exe, использующего макет потока задач.
Когда панель управления загружает файл .dll (или .cpl), он вызывает функцию CPlApplet для получения таких сведений, как количество панель управления элементов, размещаемых в файле, а также сведения о каждом элементе. панель управления также вызывает функцию при инициализации, открытии или закрытии окна элемента.
Когда Windows впервые загружает элемент панель управления, он получает адрес функции CPlApplet, а затем использует этот адрес для вызова функции и передачи ей сообщений. Он может отправлять следующие сообщения.
Сообщение | Описание |
---|---|
CPL_DBLCLK | Отправляется для уведомления CPlApplet о том, что пользователь выбрал значок, связанный с заданным панель управления элементом. CPlApplet должен отображать диалоговое окно для указанного элемента и выполнять все задачи, заданные пользователем. Параметр CPlAppletlParam1 — это целое число, представляющее отсчитываемый от нуля индекс элемента панель управления. Параметр lParam2 — это указатель lpData , возвращаемый в структуре CPLINFO или NEWCPLINFO в CPL_INQUIRE или CPL_NEWINQUIRE сообщении . Возвращаемое значение игнорируется. |
CPL_EXIT | При отправке после последнего CPL_STOP сообщения и непосредственно перед Windows используется функция FreeLibrary для освобождения библиотеки DLL, содержащей элемент панель управления. CPlApplet должен освободить оставшуюся память и подготовиться к закрытию. Возвращаемое значение игнорируется. |
CPL_GETCOUNT | Отправлено после CPL_INIT сообщение с запросом CPlApplet на возврат числа, указывающего, сколько подпрограмм поддерживается. |
CPL_INIT | Отправляется сразу после загрузки библиотеки DLL, содержащей элемент панель управления. Сообщение предлагает CPlApplet выполнить процедуры инициализации, включая выделение памяти. |
CPL_INQUIRE | Отправляется после CPL_GETCOUNT сообщение с запросом CPlApplet на предоставление сведений об указанной подпрограмме. Значение lParam1 — это целое число, представляющее отсчитываемый от нуля индекс подпрограммы, о которой запрашиваются сведения. Параметр lParam2объекта CPlApplet указывает на структуру CPLINFO . Возвращаемое значение игнорируется. |
CPL_NEWINQUIRE | Отправляется после CPL_GETCOUNT сообщение с запросом CPlApplet на предоставление сведений об указанном панель управления элементе. Значение lParam1 — это целое число, представляющее отсчитываемый от нуля индекс подпрограммы, о которой запрашиваются сведения. Параметр lParam2 является указателем на структуру NEWCPLINFO . CPL_NEWINQUIRE обычно следует игнорировать. Приложение должно обрабатывать только CPL_INQUIRE в Системах Windows 95, Microsoft Windows NT 4.0 и более поздних версиях, так как при использовании CPL_NEWINQUIRE производительность панель управления снижается. Это связано с тем, что возвращаемые строки и значки не могут быть кэшированы. Возвращаемое значение игнорируется. |
CPL_SELECT | Является устаревшей. Текущие версии Windows не отправляют это сообщение. |
CPL_STARTWPARMS | Отправляется для уведомления CPlApplet о том, что пользователь выбрал значок, связанный с заданным диалоговым окном. CPlApplet должен отображать соответствующее диалоговое окно и выполнять все задачи, заданные пользователем. Это сообщение похоже на CPL_DBLCLK, но могут быть некоторые дополнительные сведения. Параметр lParam1 — это номер панель управления элемента, а lParam2 — это LPCTSTR для любых дополнительных направлений, которые могут потребоваться. Возвращает значение TRUE , если это сообщение обработано; в противном случае — FALSE. Это сообщение допустимо для версии 5.00 и более поздних версий Shell32.dll. |
CPL_STOP | Отправляется один раз для каждого элемента панель управления в файле .cpl, прежде чем Windows выгрузит расширение панель управления. CPlApplet должен освободить любую память, связанную с номером элемента, указанным в lParam1. Параметр lParam2 — это указатель lpData , возвращаемый в структуре CPLINFO или NEWCPLINFO в сообщении CPL_INQUIRE или CPL_NEWINQUIRE . Возвращаемое значение игнорируется. |
Связанные темы
-
Создание ссылок на задачи, доступные для поиска, для элемента панель управления
-
Доступ к панель управления в безопасном режиме в Windows Vista
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по