打印本文 打印本文 关闭窗口 关闭窗口
把图标存储在SHELL32.DLL
作者:武汉SEO闵涛  文章来源:敏韬网  点击数957  更新时间:2009/4/23 18:39:18  文章录入:mintao  责任编辑:mintao

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.

打印本文 打印本文 关闭窗口 关闭窗口