Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];

Вниз

Как по расширению файла получить Handle иконки   Найти похожие ветки 

 
Gilk   (2003-12-04 10:13) [0]

Как по расширению файла получить Handle иконки


 
BiN   (2003-12-04 10:46) [1]

FAQ


 
Gilk   (2003-12-04 11:13) [2]

В FAQ предлагают извлекать иконку из файла
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988621978&n=15

А мне надо по расширению (doc, txt, ...)получить от системы ассоциированную иконку!


 
alex_***   (2003-12-04 11:20) [3]

Ассоциированную это значит иконку приложения, ассоциированого и этим файлом - лезть в реестр, выбрать приложение и уже из приложения ExtractIcon.
Или посмотри ExtractAssociatedIcon.


 
DVM   (2003-12-04 12:59) [4]

function GetFileAssociatedIcon(FileName: string; bSmall: boolean): HICON;
var
FileInfo: SHFILEINFO;
hImgList: HIMAGELIST;
BIG_OR_SMALL_ICON: integer;
begin
if bSmall then
BIG_OR_SMALL_ICON := SHGFI_SMALLICON
else
BIG_OR_SMALL_ICON := SHGFI_LARGEICON;

hImgList := SHGetFileInfo(PChar(FileName),
FILE_ATTRIBUTE_NORMAL,
FileInfo,
SizeOf(FileInfo),
SHGFI_ICON or BIG_OR_SMALL_ICON or SHGFI_SYSICONINDEX);
Result := FileInfo.hIcon;
end;


 
Gilk   (2003-12-04 13:48) [5]

to DVM
У меня нет полного пути до файла (только имя файла и расширение),- а без него не получается


 
BiN   (2003-12-04 13:55) [6]

Длинный путь - через реестр
Прямой путь - создаешь временный файл со своим расширением, а затем ExtractAssociatedIcon - но только это не подойдет для ехе и длл


 
SunnyKesha   (2003-12-04 14:40) [7]

Вот пример. Сам файл совсем не нужен...


var
shfi: TSHFileInfo;
fext: string;

begin
fext := ".xls";

SHGetFileInfo(PChar("fuck" + fext), FILE_ATTRIBUTE_NORMAL, shfi, sizeof(shfi), SHGFI_ICON or SHGFI_SMALLICON or SHGFI_SHELLICONSIZE or SHGFI_USEFILEATTRIBUTES);
end;



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
3-29229
andrew-21
2004-01-19 20:20
2004.02.10
БД без Delphi


11-29286
EAccessViolation
2003-05-29 16:02
2004.02.10
OnActivate (OnFocused) Form


14-29547
Романов Р.В.
2004-01-19 10:33
2004.02.10
404


1-29397
Андрей Л.
2004-02-01 10:26
2004.02.10
Проводник на форме


3-29204
Жбан
2004-01-20 12:33
2004.02.10
Как подсчитать количество записей в базе?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский