c# - 如何设置剪贴板来复制文件?

标签 c# .net

在我的应用程序中,我允许用户选择与磁盘上的文件相对应的项目。当用户按下 Ctrl+C 时,我希望将文件发送到剪贴板,然后用户可以将文件粘贴到其他地方。

我想以一种方式实现它,以便用户可以复制,但不能粘贴到我的应用程序中。然后,用户可以自由地将文件粘贴到 Explorer 实例或其他将从剪贴板接受文件的应用程序中。

我知道如何在剪贴板中设置信息,只是不知道如何设置它以便 Windows 将其识别为对某些文件的复制操作。

我怎样才能做到这一点?

最佳答案

要捕获 CTRL + C,您可以检查 KeyPress 事件中的 Keys Pressed。并使用类似于以下内容的方式复制文件:

private void CopyFile(string[] ListFilePaths)
{
  System.Collections.Specialized.StringCollection FileCollection = new System.Collections.Specialized.StringCollection();

  foreach(string FileToCopy in ListFilePaths)
  {
    FileCollection.Add(FileToCopy);
  }

  Clipboard.SetFileDropList(FileCollection);
}

关于c# - 如何设置剪贴板来复制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1148780/

相关文章:

c# - Marshal.AllocHGlobal VS Marshal.AllocCoTaskMem,Marshal.SizeOf VS sizeof()

javascript - 使用 Ajax 填充 Gridview

c# - 在 C# 中复制 Java 的 DecimalFormat

.net - 在 Linux/Ubuntu 上大规模部署 .net mono 应用程序

.net - F# 中的存储库模式

c# - 如何制作 if 语句来检查多个列表框是否为空?

c# - 如何遍历 .gif 图像中的每个像素?

c# - 无法填充组合框

c# - 模拟 HttpServerUtilityBase

c# - 使用 Knockoutjs 显示点击的项目