Hi,
Ich möchte einen Text wie folgt ins Clipboard kopieren:
Delphi-Quellcode:
procedure Input(
URL, Text:
String);
var hmem: THandle;
p: Pointer;
clf: Cardinal;
T: WideString;
begin
T:=Text;
clf:=RegisterClipBoardFormat('
text/html');
hmem:=GlobalAlloc(GMEM_DDESHARE
or GMEM_MOVEABLE, Length(T)+1);
p:=GlobalLock(hmem);
CopyMemory(p, @T[1], Length(T)+1);
GlobalUnlock(hmem);
ClipBoard.SetAsHandle(clf, hmem);
end;
Dieser Text muss als
Unicode-String eingefügt werden.
Das Problem ist nun dass so immer exakt 32KB kopiert werden.
Kopiere ich ihn als normalen String dann wird er komplett kopiert wobei er dann auch kleiner ist.
meine Vermutung ist nun das CopyMemory aus irgendwelchen gründen höchstens 32KB kopiert...
Kann das sein?
Oder gibt es eine andere Erklärung dafür?