输出SHELL32.DLL的图标 (转)

输出SHELL32.DLL的图标 (转)[@more@]

unit iconobject;

interface

uses
  windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls,shellapi,comobj, ComCtrls;

type
  TForm1 = class(TForm)
  ListView1: TListView;

  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  sfi  : TSHFileInfo;
  I  : Integer;
  ListItem  : TListItem;
begin
// 输出所有的 windows 95/98/2000 图标
DesktopIcon:= TImageList.Create(Self);
DesktopIcon.Handle := SHGetFileInfo(', 0, sfi, SizeOf(TSHFileInfo),
  shGFI_SYSICONINDEX or SHGFI_SMALLICON);
DesktopIcon.ShareImages := TRUE;
ListView1.SmallImages := Desktopicon;
For I:=0 to 255 -1 do
With ListView1 Do
Begin
ListItem := Items.add;
ListItem.Caption := Inttostr(I);
ListItem.ImageIndex := I;
End;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Desktopicon.free;
end;

end.


请使用浏览器的分享功能分享到微信等