Как получить иконки от добавления / удаления программ Панель управления - PullRequest
2 голосов
/ 18 ноября 2010

Я пытаюсь создать приложение, которое в основном эмулирует функцию добавления / удаления программ панели управления Windows.В настоящее время я использую реестр, я не использую WMI, потому что ТАК МЕДЛЕННО, и возвращает только программное обеспечение, установленное файлом .msi. Есть ключи, которые я сейчас читаю:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall HKCU\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall

и я думаю, что все программное обеспечение установлено, но есть проблема с иконками, я не знаю, как извлечь значки, которые появляются на панели управления.Некоторые ключи имеют свойство DisplayIcon, а другие нет.Я пробую две вещи:

Сначала извлеките значок для Приложения на ключе DisplayIcon.

Во-вторых, попытайтесь определить C:\Windows\Installer\FOLDER, чтобы извлечь значок для некоторого файла.Но не идеально, я получаю только около 80% значков.Я знаю, что есть много программ, которые могут сделать это очень хорошо ... например, "SoftwareInformer".

Я прочитал об этом, и я нашел информацию о ARPPRODUCTICON и WiX a Icon Table, но я не уверен, где находится эта таблица и есть ли способ получить к ней доступ.

Также я ищу приложение с открытым исходным кодом, которое делает это без везения.

Ответы [ 4 ]

4 голосов
/ 23 мая 2011

Возможно, я слишком опаздываю на вечеринку, но если вы проверите под

HKEY_CLASSES_ROOT\Installer\Products\{GUID}

, вы найдете строковое значение "ProductIcon" с путем (хотя и не для всех продуктов).Я думаю, что он в основном такой же, как в папке {sys_drive}: \ Windows \ Installer {GUID}.Но даже «Программы и компоненты» не отображают все значки.

PS: И, конечно, я не могу опубликовать изображение, потому что у меня недостаточно очков, хм ..

1 голос
/ 21 декабря 2010

Не все приложения, перечисленные в апплете панели управления, имеют значок «приложения» - некоторые просто используют значок по умолчанию, например, «Microsoft Device Emulator (64 bit) версия 3.0 - ENU»

0 голосов
/ 04 марта 2018

Если вы ищете собственные значки Windows, у вас, вероятно, есть больше мест, где их можно найти, чем вы думаете (уже на вашей собственной машине).

Я наткнулся на эту информационную ссылку, устраняя неполадки 'убрать ярлыки стрелок с вопроса иконок.Вполне вероятно, что вы найдете то, что ищете, прочитав информацию по ссылке ниже.Ссылка носит информационный характер и не требует загрузки значков (в конце концов, они уже есть на вашем компьютере).

https://diymediahome.org/windows-icons-reference-list-with-details-locations-images/

0 голосов
/ 03 января 2011

, если вы можете получить путь к установленному файлу (получить это из значения реестра)

использование этого метода

radiobutton.Image = Icon.ExtractAssociatedIcon(_fullPath).ToBitmap();

// _ fullPath - это путь к вашему exe-файлу, если у exe-файла есть соответствующий значок, он отлично работает

это работает на 100% для меня

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...