【发布时间】:2012-06-14 09:59:17
【问题描述】:
前段时间我问过fastest way to get shell icon,它调整了获取图标的速度,但问题是某些系统快捷方式(lnk 文件)无法显示正确的图标。
作为示例之一可能是Windows Fax and Scan.lnk 文件,如果您使用以下代码...
procedure TForm2.Button1Click(Sender: TObject);
var
Icon: TIcon;
FileInfo: TSHFileInfo;
begin
FillChar(FileInfo, SizeOf(FileInfo), 0);
SHGetFileInfo(PChar('C:\Windows Fax and Scan.lnk'), FILE_ATTRIBUTE_NORMAL,
FileInfo, SizeOf(FileInfo), SHGFI_USEFILEATTRIBUTES or SHGFI_ICON or
SHGFI_SMALLICON);
Icon := TIcon.Create;
try
Icon.Handle := FileInfo.hIcon;
Canvas.Draw(10, 10, Icon);
finally
Icon.Free;
end;
end;
显示而不是这个图标...
某种默认快捷方式图标...
您知道如何从该快捷方式文件中获取系统图标(第一张图片中的那个)吗?
【问题讨论】:
标签: delphi winapi explorer windows-shell