Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Dateien in Zwischenablage kopieren und verschieben (https://www.delphipraxis.net/13682-dateien-zwischenablage-kopieren-und-verschieben.html)

edosoft 23. Dez 2003 21:56


Dateien in Zwischenablage kopieren und verschieben
 
Hallo,
ich suche eine Funktion mit der ich eine oder mehrere Dateien in die Zwischenablage kopieren/verschieben kann. Da hab ich is jetzt folgendes gefunden:
Delphi-Quellcode:
uses
  ShlObj, ClipBrd;

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;

// Example, Beispiel:

procedure TForm1.Button1Click(Sender: TObject);
begin
  CopyFilesToClipboard('C:\Bootlog.Txt'#0'C:\AutoExec.Bat');
end;


  Separate the files with a #0.
  Dateien mit einem #0 trennen.
}
Damit kann ich die Dateien aber nur kopieren.
Weiss jemand wie ich sie aich verschieben kann, so dass man sie mit dem Explorer oder so wieder einfügen kann?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz