как получить у системы иконки
Вопрос : как получить у системы иконки (маленькие 16/16 , большие 32/32 , в выбранном состоянии...)для зарегистрированных типов файлов.Причем не указывая путь к файлу-(SHGetFileInfo видимо отпадает).Должен же быть способ получить их просто указав нужное расширение (.bmp к примеру).
Благодарю за ответы.
Да и к стати как HICON можно присвоить TIcon'у ?
SHFILEINFO FileInfo;
TIcon* Icon = new TIcon;
SHGetFileInfo(OpenDialog1->FileName.c_str(),
0, &FileInfo, sizeof(FileInfo),SHGFI_ICON| SHGFI_LARGEICON);
Icon->Handle = FileInfo.hIcon;
Canvas->Draw(0, 0, Icon);
delete Icon;
[\code]
Цитата:
Originally posted by Clasius
Доброго времени суток.
Вопрос : как получить у системы иконки (маленькие 16/16 , большие 32/32 , в выбранном состоянии...)для зарегистрированных типов файлов.Причем не указывая путь к файлу-(SHGetFileInfo видимо отпадает).Должен же быть способ получить их просто указав нужное расширение (.bmp к примеру).
Благодарю за ответы.
Да и к стати как HICON можно присвоить TIcon'у ?
Доброго времени суток.
Вопрос : как получить у системы иконки (маленькие 16/16 , большие 32/32 , в выбранном состоянии...)для зарегистрированных типов файлов.Причем не указывая путь к файлу-(SHGetFileInfo видимо отпадает).Должен же быть способ получить их просто указав нужное расширение (.bmp к примеру).
Благодарю за ответы.
Да и к стати как HICON можно присвоить TIcon'у ?
Например для типа *.bpg
1. читаешь ветку "HKEY_CLASSES_ROOT\.bpr"
у нее значение (По умочанию)= BCBProject
2 значит надо прочитать ветку "HKEY_CLASSES_ROOT\BCBProject\DefaultIcon"
у нее значение (По умочанию)= "D:\Program Files\Borland\CBuilder6\Bin\bcb.exe, 4"
мы получили параметры для вызова функции
ExtractIcon или ExtractIconEx
еще про иконки можешь порочитать тут