wunderbar =D
DeddyH du bist mein Held
Bin nicht draufgekommen es bei dem Funktionsparameter selbst umzustellen.
außerdem musste noch folgende Zeile geändert werden
hGlobal := GlobalAlloc(GMEM_MOVEABLE+GMEM_DDESHARE,
in
hGlobal := GlobalAlloc(GMEM_SHARE or GMEM_MOVEABLE or GMEM_ZEROINIT,
GesamtCode:
Delphi-Quellcode:
//################################################
// CopyFilesToClipboard
//################################################
procedure TfrmAnfrage.CopyFilesToClipboard(FileList: Ansistring);
var
DropFiles: PDropFiles;
hGlobal: THandle;
iLen: Integer;
begin
iLen := Length(FileList) + 2;
FileList := FileList + #0#0;
hGlobal := GlobalAlloc(GMEM_SHARE
or GMEM_MOVEABLE
or GMEM_ZEROINIT,
SizeOf(TDropFiles) + iLen);
if (hGlobal = 0)
then raise Exception.Create('
Could not allocate memory.');
begin
DropFiles := GlobalLock(hGlobal);
DropFiles^.pFiles := SizeOf(TDropFiles);
Move(FileList[1], (PAnsiChar(DropFiles) + SizeOf(TDropFiles))^, iLen);
GlobalUnlock(hGlobal);
Clipboard.SetAsHandle(CF_HDROP, hGlobal);
end;
end;
Vielen Dank an euch beide =)