Как сохранить иконку в файл имея её хендл?
Материал из DRKB
Как сохранить иконку в файл имея её хендл?[править | править код]
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;
Author: Krid
Source: Взято из http://forum.sources.ru
ID: 02351