在Delphi中将文件复制到剪贴板

Chi*_*ran -5 delphi clipboard

有谁知道如何在Delphi中复制文件?它喜欢在文件或文件夹上按Ctrl + C,然后我们可以在某处粘贴?我只知道如何通过Clipbrd Unit复制文本,但我不知道文件,文件夹!请帮我 !

Rem*_*eau 6

使用该CF_HDROP格式存储文件/文件夹的完整路径,或使用CF_SHELLIDLIST格式存储文件/文件夹ITEMIDLIST.有关更多详细信息,请参阅MSDN:

Shell剪贴板格式

可替换地,转换的文件夹/文件路径(S)以ITEMIDLIST使用值(S) SHParseDisplayName(),ILCreateFromPath()或其它类似的功能,则使用SHCreateDataObject()来创建一个IDataObject从它们,然后传递到OleSetClipboard().


And*_*tyn 5

剪贴板和拖放有很多共同点。大多数支持拖放的库也拥有剪贴板所需的所有功能。例如检查这个库: http: //melander.dk/delphi/dragdrop/

它是免费的,具有完整的源代码,并且有很多示例,包括剪贴板操作。

示例之一是 DragDrop\Demos\Unicode\DragDropUnicode.dproj,它有弹出命令“复制到剪贴板”:

procedure TForm1.ActionFileCopyExecute(Sender: TObject);
begin
  if (FFiles = '') then
    DropFileSource1.Files.Text := LoadResString(0)
  else
    DropFileSource1.Files.Text := FFiles;

  DropFileSource1.CopyToClipboard;
end;
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你。