Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как сохранить иконку в файл имея её хендл?

01.01.2007
uses
 
Windows,ActiveX;

 
function OleSavePictureFile(dispPicture: IDispatch; bstrFileName: TBStr): HResult; stdcall;
                                                                        external
'oleaut32.dll';
 
// icon - дескриптор иконки
// FileName - файл, в который сохранять
// DestroyAfterSave - уничтожать дескриптор иконки после сохранения или нет
function StoreIconFile(icon:HICON; FileName:string; DestroyAfterSave:boolean=false):boolean;
const
 IID_IPictureDisp
:TGUID = '{7BF80981-BF32-101A-8BBB-00AA00300CAB}';
var
 pd
:TPictDesc;
 ipd
:IPictureDisp;
begin
 pd
.cbSizeofstruct:=sizeof(TPictDesc);
 pd
.picType:=PICTYPE_ICON;
 pd
.hIcon:=icon;
 result
:=(OleCreatePictureIndirect(pd,IID_IPictureDisp,DestroyAfterSave,ipd)=S_OK) and
         
(OleSavePictureFile(ipd, StringToOLEStr(FileName))=S_OK)
end;
 

Взято из https://forum.sources.ru

Автор: Krid