把圖示儲存在SHELL32.DLL (轉)

worldblog發表於2007-12-13
把圖示儲存在SHELL32.DLL (轉)[@more@]

uses
  , Messages, SysUtils, Classes, Graphics, Controls, Forms,,Dialogs;

type
  TForm1 = class(TForm)
  procedure FormCreate(Sender: T);
  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;
  i: 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.


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-992893/,如需轉載,請註明出處,否則將追究法律責任。

相關文章