I've tried this workaround, but it does not work and even blocks MyIEBitmap.CopyToClipboard to copy to the clipboard:
procedure SetBuffer(Format: Word; const Buffer; Size: Integer);
var
DataPtr: Pointer;
Data: THandle;
begin
Data := GlobalAlloc(GMEM_MOVEABLE+GMEM_DDESHARE, Size);
try
DataPtr := GlobalLock(Data);
try
Move(Buffer, DataPtr^, Size);
Win32Check(SetClipboardData(Format, Data) <> 0);
finally
GlobalUnlock(Data);
end;
except
GlobalFree(Data);
raise;
end;
end;
Clipboard.Open;
try
MyIEBitmap.CopyToClipboard(True, True);
const ThisID: string = 'UniqueID';
SetBuffer(CF_UNICODETEXT, Text[1], ByteLength(ThisID));
finally
Clipboard.Close;
end;