![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Иконки установленых приложений
BaD.P1nG © (2008-07-18 10:54:00)Проблема такая: получаю список установленых приложений и HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. Через DisplayIcon или ModifyPath вытаскиваю часть иконок. Но часть приложений не хранит в реестре эти параметры. Сам исполняемый файл не всегда имеет имя, совпадающее с названием приложения. Где еще стоит поискать(и что бы не зависеть от языка системы)? Может кто-нибудь знает, как стандартная "установка/удаление" получает иконки приложений?
Благодарю за внимание!
ZDO (2008-08-18 22:32:00) [1]Я не знаю, поможет это или нет, но я когда делал прогу для мониторинга автозагрузки, то пользовался функцией WinAPI ExtractIcon. Возможно тебе это не подойдет, ибо я до конца не врубился в суть проблемы, но все равно.:)
MultIfleX (2008-07-25 07:42:00) [2]Ща глянул - вродебы все прозрачно, смотри:
береш тотже гуид, который и раньше брал, но для которого вышеуказанным способом иконка не нашлась. к примеру у оффиса у меня {90110419-6000-11D3-8CFE-0150048383C9}
преобразуеш ProductCode в ID_Number:
{ 90110419-6000-11D3-8CFE-0150048383C9} 914011 0900063D11C8EF10054038389C
{90 110419-6000-11D3-8CFE-0150048383C9} 9140 110900063D11C8EF10054038389C
{9011 0419-6000-11D3-8CFE-0150048383C9} 91 40110900063D11C8EF10054038389C
{901104 19-6000-11D3-8CFE-0150048383C9} 9140110900063D11C8EF10054038389C
{90110419- 60 00-11D3-8CFE-0150048383C9} 91401109 00 063D11C8EF10054038389C
{90110419-6000- 11 D3-8CFE-0150048383C9} 914011090006 3D 11C8EF10054038389C
{90110419-6000-11D3- 8C FE-0150048383C9} 9140110900063D11 C8 EF10054038389C
{90110419-6000-11D3-8CFE- 0150048383 C9} 9140110900063D11C8EF 1005403838 9C
идеш в HKEY_CLASSES_ROOT\Installer\Products\ID_Number и опля, видиш параметр ProductIcon
ЗЫ. Тебе зачем список прог?? Если делаеш путевый унинсталлер, дай посмотреть ;)
BaD.P1nG (2008-07-18 14:57:00) [3]Но вот ищу уже тремя способами. но еще не все нашел, а она находит... Причем мониторил реестр, Винда не находит многих путей, а иконки выводит корректные... могу предположить, что просто ищет в папке унинсталлера, но ведь имя исполняемого файла не всегда сопадает с названием продукта(тот же акробат ридер)
MultIfleX (2008-07-18 14:32:00) [4]
> Винда использует в установке/удалении не иконку униинсталлера.
> (сравнивал) А вто ворой способ интересен. Спасибо!
именно её, если ничего больше не осталось, тож сравнивал ;-) правдо у меня таких тока 3
BaD.P1nG (2008-07-18 11:32:00) [5]Хм, оказалось, что и это еще не позволяет извлечь все иконки...Но еще часть работы сделано, спасибо Вам, MultIfleX!
BaD.P1nG (2008-07-18 11:28:00) [6]Винда использует в установке/удалении не иконку униинсталлера.(сравнивал) А вто ворой способ интересен. Спасибо!
MultIfleX (2008-07-18 11:24:00) [7]GUID'om является имя раздела, к примеру HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ {90110 419-6000-11D3-8CFE-0150048383C9}
multiflex (2008-07-18 11:21:00) [8]тут 2 варианта
1. используеш иконку унинсталлера (как это и в винде сделано) - параметр "UninstallString"
2. ищеш по GUID в HKEY_CLASSES_ROOT\Installer\Products, параметр "ProductIcon" (вот у меня например это The Bat!, PCAD, 1c, Framework, PartitionMagic....)