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

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

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;

Взято из http://forum.sources.ru
Автор: Krid

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...