Verdammt!!! Das mit den DOS-Namen klappt leider auch nicht immer, da die selbst auch
unicode zeichen enthalten können
(((
Kann mir vielleicht einer sagen wie ich Dateien (eben solche die
unicode zeichen enthalten) in die zwischenablage speichern kann?
Habe schon versucht die prozedur "CopyFilesToClipboard" abzuändern, hatte aber leider nicht viel erfolg damit.
hier die "String-version"
Code:
procedure CopyFilesToClipboard(FileList: String);
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], (PChar(DropFiles) + SizeOf(TDropFiles))^, iLen);
GlobalUnlock(hGlobal);
Clipboard.SetAsHandle(CF_HDROP, hGlobal);
end;
end;