Поиск иконок установленых приложений
От: BaD.P1nG  
Дата: 18.07.08 07:01
Оценка:
Проблема такая: получаю список установленых приложений и HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. Через DisplayIcon или ModifyPath вытаскиваю часть иконок. Но часть приложений не хранит в реестре эти параметры. Сам исполняемый файл не всегда имеет имя, совпадающее с названием приложения. Где еще стоит поискать(и что бы не зависеть от языка системы)? Может кто-нибудь знает, как стандартная "установка/удаление" получает иконки приложений?
Благодарю за внимание!
Re: Поиск иконок установленых приложений
От: Carc Россия http://www.amlpages.com/home.php
Дата: 18.07.08 10:20
Оценка:
"BaD.P1nG" <76159@users.rsdn.ru> сообщил/сообщила в новостях следующее: news:3027519@news.rsdn.ru...
> Проблема такая: получаю список установленых приложений и HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. Через DisplayIcon или ModifyPath вытаскиваю часть иконок. Но часть приложений не хранит в реестре эти параметры. Сам исполняемый файл не всегда имеет имя, совпадающее с названием приложения. Где еще стоит поискать(и что бы не зависеть от языка системы)? Может кто-нибудь знает, как стандартная "установка/удаление" получает иконки приложений?
> Благодарю за внимание!
EnumResourceTypes + EnumResourceXXX + LoadImage + ExtractIcon
Posted via RSDN NNTP Server 2.1 beta
Aml Pages Home
Re[2]: Поиск иконок установленых приложений
От: BaD.P1nG  
Дата: 18.07.08 11:03
Оценка:
Здравствуйте, Carc, Вы писали:
C>EnumResourceTypes + EnumResourceXXX + LoadImage + ExtractIcon

Вы меня не совсем поняли... ресурсы извлечь- не проблема, проблема сопоставить записи в реестре об установленых программах путь к исполняемому файлу.
Re: Поиск иконок установленых приложений
От: in trance Россия  
Дата: 18.07.08 15:09
Оценка:
Здравствуйте, BaD.P1nG, Вы писали:

BP>Проблема такая: получаю список установленых приложений и HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. Через DisplayIcon или ModifyPath вытаскиваю часть иконок. Но часть приложений не хранит в реестре эти параметры. Сам исполняемый файл не всегда имеет имя, совпадающее с названием приложения. Где еще стоит поискать(и что бы не зависеть от языка системы)? Может кто-нибудь знает, как стандартная "установка/удаление" получает иконки приложений?

BP>Благодарю за внимание!

Надо дополнительно читать ветку
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache\{SomeProgram}\SlowCacheInfo
т.е.
если есть ветка HKLM\...\Uninstall\MyTool_is1\, то читаем структуру HKLM\...\ARPCache\MyTool_is1\SlowCacheInfo

Формат структуры:
struct SlowInfoCache
{
    DWORD       Size; // = sizeof(SlowInfoCache) = 552 
    DWORD       HasName;
    LONGLONG    InstallSize;
    FILETIME    LastUsed;
    DWORD       Frequency;
    WCHAR       Name[ MAX_PATH + 1 ]; // Путь к exe файлу, у него и получаешь иконку
}


Только все равно останеться часть приложений без иконки

Тут надо запускать RegMon и FileMon, смотреть что и откуда читает "установка/удаление"
Если узнаешь, чтото новенькое, то отпишись
Re[2]: Поиск иконок установленых приложений
От: BaD.P1nG  
Дата: 19.07.08 07:22
Оценка:
Здравствуйте, in trance, Вы писали:
IT>Надо дополнительно читать ветку
IT>HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache\{SomeProgram}\SlowCacheInfo
IT>т.е.
IT>если есть ветка HKLM\...\Uninstall\MyTool_is1\, то читаем структуру HKLM\...\ARPCache\MyTool_is1\SlowCacheInfo

IT>Формат структуры:

IT>
IT>struct SlowInfoCache
IT>{
IT>    DWORD       Size; // = sizeof(SlowInfoCache) = 552 
IT>    DWORD       HasName;
IT>    LONGLONG    InstallSize;
IT>    FILETIME    LastUsed;
IT>    DWORD       Frequency;
IT>    WCHAR       Name[ MAX_PATH + 1 ]; // Путь к exe файлу, у него и получаешь иконку
IT>}
IT>


IT>Только все равно останеться часть приложений без иконки


IT>Тут надо запускать RegMon и FileMon, смотреть что и откуда читает "установка/удаление"

IT>Если узнаешь, чтото новенькое, то отпишись

Самое смешное, что сканил этими тулзами. У той же Оперы в реестре вообще нет пути к файлу, только к унинсталлеру, но и тот лежит на другом уровне иерархии директорий... А читать...уже весь реестр, почитай читаю, да вот толку чуть =) Что найду- отпишусь...
Re[2]: Поиск иконок установленых приложений
От: BaD.P1nG  
Дата: 19.07.08 07:27
Оценка:
Думаю, что Ваш, in trance, вариант, окажется очень кстати... Недодумался еще эту ветку сканить
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.