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

Previous  Top  Next

    
 

 

 

Code:

uses

Windows,ActiveX;

{©Drkb v.3(2007): www.drkb.ru}

 

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;

 

©Drkb::02351

 

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

Автор: Krid