Панель управления Windows XP - предоставление значения для поля "комментарии"

Откуда панель управления Windows XP получает значение для поля "Комментарии"? Я пишу приложение панели управления EXE, и из документации не видно, что вы можете указать значение для этого поля.

3 ответа

Решение

Регистрация исполняемого файла (exe) в качестве апплета панели управления в Windows Vista с помощью установщика Windows XML (WIX) по адресу http://blogs.msdn.com/b/cjacks/archive/2007/05/03/registering-an-executable -file-ех-а-а-панель управления-апплет на окнах-перспектива-использование-окон-инсталлятор-XML-wix.aspx


[предыдущий ответ]

См. Раздел Регистрация элементов панели управления для регистрации элементов панели управления по http://msdn.microsoft.com/en-us/library/cc144195(VS.85).aspx

В частности, вы хотите InfoTip, который является комментариями.

Регистрация элементов панели управления

Элементы панели управления должны быть зарегистрированы, чтобы появиться в окне панели управления. Если элемент панели управления реализован как часть файла.exe, то он регистрируется как объект команды. Регистрация отличается, если элемент реализован в виде DLL-файла, который экспортирует функцию CPlApplet.

Эта строка извлекается из значения реестра HKCR\CLSID{guid}\InfoTip. Как привести реестр в порядок, очень хорошо объяснено в этой статье MSDN Library, и я мало что могу добавить к этому.

Использование CPLApplet:

Когда панель управления загружает файл.dll (или.cpl), она вызывает функцию CPlApplet, чтобы получить такую ​​информацию, как количество элементов панели управления, в которых размещается файл, а также информацию о каждом элементе.

Когда Windows сначала загружает элемент панели управления, она получает адрес функции CPlApplet и затем использует этот адрес для вызова функции и передачи ей сообщений. Может отправлять следующие сообщения.

Вам необходимо обработать сообщение CPL_INQUIRE и заполнить структуру CPLINFO.

typedef struct tagCPLINFO {
  int      idIcon;
  int      idName;
  int      idInfo;
  LONG_PTR lpData;
} CPLINFO;

idInfo является идентификатором ресурса строки, содержащей описание. Вы не можете просто установить эту вещь, заполнив какой-то ключ реестра.

Редактировать: Хорошо, мой плохой, это старое решение.

Другие вопросы по тегам