Im Großen und Ganzen sind dies Funktionen, die in der
VCL-Klasse TClipboard gekapselt sind:
Delphi-Quellcode:
procedure SetClipboardText(aText: PChar);
procedure SetBuffer(Format: Word; var Buffer; Size: Integer);
var
Data: THandle;
DataPtr: Pointer;
begin
OpenClipboard(hWnd); //Clipboard wird für die Anwendung geöffnet (hWnd muss das Fensterhandle sein)
try
EmptyClipboard; // !Wichtig! Nur so kann das oben angegebene Fenster der "Besitzer" des Clipboards werden
Data := GlobalAlloc(GMEM_MOVEABLE+GMEM_DDESHARE, Size);
try
DataPtr := GlobalLock(Data);
try
Move(Buffer, DataPtr^, Size);
SetClipboardData(Format, Data);
finally
GlobalUnlock(Data);
end;
except
GlobalFree(Data);
raise;
end;
finally
CloseClipboard; //und wieder den Clipboard freigeben
end;
end;
begin
SetBuffer(CF_TEXT, aText^, Length(aText) + 1);
end;
[edit=flomei]Wir "räumen auf", daher Titel geändert... Mfg, flomei[/edit]