uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,shellapi,Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
DesktopIcon: TimageList; // 做一个你喜欢的图象列表
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
Var Ico: TIcon;
Sfi: Tshfileinfo;
I : Integer;
begin
//分配一个句柄给图象列表
DesktopIcon:= TImageList.Create(Self);
DesktopIcon.Handle := SHGetFileInfo('', 0, sfi, SizeOf(TSHFileInfo),
shGFI_SYSICONINDEX or SHGFI_SMALLICON);
DesktopIcon.ShareImages := TRUE;
For I:=0 to DesktopIcon.count -1 do
Begin
Ico := Ticon.Create;
DesktopIcon.GetIcon(I,Ico);
Ico.SaveToFile('c:/icons/'+inttostr(i)+'.ico');
Ico.Free;
End;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Desktopicon.free;
end;
end.
该博客主要展示了在Windows环境下,利用相关库和代码实现图像列表图标的保存。通过创建图像列表,获取系统图标索引,将图标保存为.ico文件,最后在窗体关闭时释放资源。涉及Windows、shellapi等库的使用。
1427

被折叠的 条评论
为什么被折叠?



