Mega Code Archive

 
Categories / Delphi / System
 

Save icons from shell32.dll

Title: save icons from shell32.dll Question: How to save all shell32.dll icons to disk Answer: //Cust and paste into a new application and the output will //be placed in a folder called c:\icons // //-------------------------- Cut ----- unit Unit1; interface 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; // I Love you imagelist implementation {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject); Var Ico: TIcon; Sfi: Tshfileinfo; I : Integer; begin // Assign Handle to imageList 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. //---------------------paste----