Я использую этот код для получения значка оболочки (отображаемого в проводнике Windows).
Есть ли у кого-нибудь опыт более быстрого получения этих значков? SHGetFileInfo
кажется довольно медленным.
procedure TForm2.Button1Click(Sender: TObject);
var
FileInfo: TSHFileInfo;
begin
FillChar(FileInfo, SizeOf(FileInfo), 0);
if SHGetFileInfo(PChar('c:\windows\'), 0, FileInfo, SizeOf(FileInfo),
SHGFI_ICON or SHGFI_SMALLICON or SHGFI_SYSICONINDEX) <> 0 then
DrawIconEx(Canvas.Handle, 10, 10, FileInfo.hIcon, 0, 16, 16, 0, DI_IMAGE or
DI_MASK);
end;
Спасибо!