输出SHELL32.DLL的图标

    技术2022-05-11  123

    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.


    最新回复(0)