如何查找 .pdf 文件并将其复制到剪贴板

How to find and copy .pdf file to clipboard

我正在尝试将 pdf 文件复制到剪贴板,以便稍后可以通过 Ctrl+V 粘贴它。

下面的代码可以找到一个文件,但我不知道如何将它复制到剪贴板。

找到 pdf 文件后如何复制?

    private void copyToClipbard_Click(object sender, RoutedEventArgs e)
    {
        var file = Directory.GetFiles(@"C:\MyFolder\", "myPDFFile.pdf", SearchOption.AllDirectories).FirstOrDefault();
        Clipboard.SetDataObject(file);
    }

我收到错误:

An unhandled exception of type 'System.ArgumentNullException' occurred in PresentationCore.dll

编辑:我也尝试了以下方法,我没有收到任何错误,但它没有复制文件。

编辑:以下代码确实有效,我没有输入正确的路径,不过我更喜欢 jasttim 的回答。

    private void copyToClipbard_Click(object sender, RoutedEventArgs e)
    {
        var file = Directory.GetFiles(@"C:\MyFolder\", "myPDFFile.pdf", SearchOption.AllDirectories).FirstOrDefault();

        var dataObj = new DataObject();
        string[] fileName = new string[1];
        fileName[0] = file;
        dataObj.SetData(DataFormats.FileDrop, fileName, true);

        Clipboard.SetDataObject(dataObj, true);
    }

尝试使用 "Clipboard" class.
它具有将数据放入 Windows 剪贴板所需的所有方法。

StringCollection paths = new StringCollection();
paths.Add("c:\file.pdf");
Clipboard.SetFileDropList(paths);