![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить иконку файла, каталога в Windows XP
Maxim K © (2003-07-05 01:18:00)
Как получить иконку файла, каталога в Windows XP. Функция ExtractAssociatedIcon(HInstance,PChar("c:\windows\notepad.exe"),IconIndex) возвращает нулевое значение. Получение иконки нужно для отображения дерева каталогов(например как в проводнике).
Maxim K (2003-07-05 14:42:00) [1]Извините что напряг, но я нашел немного другой путь:
============ //Author: Pascal Enz
uses
ShellApi;
function GetAssociatedIcon(const AExtension: string; ASmall: Boolean): HIcon;
var
Info: TSHFileInfo;
Flags: Cardinal;
begin
if ASmall then
Flags := SHGFI_ICON or SHGFI_SMALLICON or SHGFI_USEFILEATTRIBUTES
else
( PChar(AExtension)
Извините что напряг, но я нашел немного другой путь:
============ //Author: Pascal Enz
uses
ShellApi;
function GetAssociatedIcon(const AExtension: string; ASmall: Boolean): HIcon;
var
Info: TSHFileInfo;
Flags: Cardinal;
begin
if ASmall then
Flags := SHGFI_ICON or SHGFI_SMALLICON or SHGFI_USEFILEATTRIBUTES
else
Flags := SHGFI_ICON or SHGFI_LARGEICON or SHGFI_USEFILEATTRIBUTES;
SHGetFileInfo(PChar(AExtension), FILE_ATTRIBUTE_NORMAL, Info,
SizeOf(TSHFileInfo), Flags);
Result := Info.hIcon;
end;
============
Без проблем работает с файлами, директориями, корневыми дисками. Нашел по адресу http://delphiplus.nagano.ru/articles/advice/file_icon/index.html.Может комунить понадобиться.
Maxim K (2003-07-05 14:17:00) [2]
DefaultIcon = %SystemRoot%\System32\shell32.dll,3 ... попробовал IconIndex = 3, тот же эффект
Cobalt (2003-07-05 14:08:00) [3]
1) А какой у тебя IconIndex?
2) См. HKEY_CLASSES_ROOT\Directory