Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Datei in Zwischenablage (https://www.delphipraxis.net/182532-datei-zwischenablage.html)

Sidi61 30. Okt 2014 10:12

Datei in Zwischenablage
 
Hallo zusammen,

ich möchte gern eine Datei (Test.xlsx) in die Zwischenablage kopieren und anschließend mittels Strg+V oder über das Menü rechte Maustaste/Einfügen in ein beliebiges Verzeichnis oder Mailanhang kopieren.

Dazu habe ich auch schon einige Beispiele gefunden die letztendlich immer den selben Code verwenden

Code:
// Aufruf mit CopyFilesToClipboard('C:\Bootlog.Txt'#0'C:\AutoExec.Bat'); Files durch #0 trennen
procedure TForm_Schleifbrand.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('Nicht genügend Speicher vorhanden');
  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;
nach dem Ausführen der procedure wird auch etwas in die Zwischenablage kopiert, zumindest zeigt das Menü über rechte Maustaste/Einfügen den Menüpunkt Einfügen als anwendbar an aber weder durch den Menüpunkt noch durch Strg+V lässt sich die Datei irgendwo hin kopieren. Es geschieht nichts, keine Fehlermeldung, der Menüpunkt Einfügen bleibt aktiv :cry:

Hat jemand eine Idee??

Gruß
Sidi61

Nachtrag: sorry - hat sich erledigt, konnte mit diesem Beitrag

http://www.delphipraxis.net/1038948-post7.html

von MarcoWarm das Problem lösen :-)

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 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