2010-06-10 3 views
3

Где панель управления Windows XP получает значение для поля «Комментарии»? Я пишу приложение панели управления EXE, и он не отображается с the documentation, что вы можете указать значение для этого поля.Панель управления Windows XP - предоставление значения для поля «комментарии»

ответ

1

Регистрация исполняемого файла (EXE) как приложение панели управления на Windows Vista с помощью XML установщика Windows (WIX) в http://blogs.msdn.com/b/cjacks/archive/2007/05/03/registering-an-executable-file-exe-as-a-control-panel-applet-on-windows-vista-using-windows-installer-xml-wix.aspx


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

См Исполняемые Control Техническое описание панели инструментов от Регистрация элементов контрольной панели по адресу http://msdn.microsoft.com/en-us/library/cc144195(VS.85).aspx

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

регистрирующих элементы панели управления

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

+0

К сожалению, это не работает. Содержимое этого поля появляется в подсказке, если вы наводите курсор на апплет. –

+0

Получается, что ваш оригинальный намек был ответом. Я установил InfoTip на «@ (путь), (индекс)» и установил его на «@ (путь), - (индекс)», заставив его работать. Я даю вам щедрость, потому что сначала у вас был правильный ответ. Благодаря! –

+0

Ах, это всегда что-то простое. : О) – AMissico

1

Using CPLApplet:

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

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

Вам необходимо обработать CPL_INQUIRE Message и заполните CPLINFO Structure.

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

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

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

+0

Да, это работало до того, как мы установили, скопировав файл .cpl в system32. Мы конвертировали в файл EXE в области Program Files по разным причинам, и я задавался вопросом, можем ли мы вернуть это обратно. –

1

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

 Смежные вопросы

  • Нет связанных вопросов^_^