Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将文件从c#winforms应用程序拖动到outlook邮件_C#_Outlook_Drag - Fatal编程技术网

如何将文件从c#winforms应用程序拖动到outlook邮件

如何将文件从c#winforms应用程序拖动到outlook邮件,c#,outlook,drag,C#,Outlook,Drag,我正试图将一个或多个文件从应用程序拖到outlook邮件中。 如果我拖动到桌面,文件会按预期复制到桌面,但当拖动到新的outlook 2013邮件中时,不会发生任何事情。。。只有当我明确拖动到“附件文本框”时,它们才会出现,这是没有帮助的,因为默认情况下不会显示附件文本框 我不明白为什么当我将文件从桌面拖到邮件中时,我可以直接将其拖放,并且附件文本会自动显示文件,但当我从应用程序中拖动时,它不起作用…,以下是我的代码: " " 我还使用“SetFileDropList”方法将文件添加到DataO

我正试图将一个或多个文件从应用程序拖到outlook邮件中。 如果我拖动到桌面,文件会按预期复制到桌面,但当拖动到新的outlook 2013邮件中时,不会发生任何事情。。。只有当我明确拖动到“附件文本框”时,它们才会出现,这是没有帮助的,因为默认情况下不会显示附件文本框

我不明白为什么当我将文件从桌面拖到邮件中时,我可以直接将其拖放,并且附件文本会自动显示文件,但当我从应用程序中拖动时,它不起作用…,以下是我的代码:

"

"

我还使用“SetFileDropList”方法将文件添加到DataObject中,但这没有什么区别

我必须设置一些神奇的属性,才能使outlook消息正常工作

我希望有人能对此有所了解

谢谢,
Jurjen.

我刚刚在运行.NET 4.0的机器上测试了一些其他东西(应用程序是在.NET 4.5中编译的),在将.NET目标更改为4.0并重新编译后,它确实起作用,将文件拖到新的outlook消息中,非常奇怪,以后迁移到.NET 4.5时可能会出现问题。。。但是现在它可以工作了…

如果你将一个文件从桌面(而不是从应用程序)拖到outlook中,会发生什么呢?这很好。
    private void Form1_MouseDown(object sender, MouseEventArgs e)
    {
        var _files = new string[] { @"E:\Temp\OR_rtftemplates.xml", @"E:\Temp\Tail.Web_Trace.cmd" };
        var fileDragData = new DataObject(DataFormats.FileDrop, _files);

        (sender as Form).DoDragDrop(fileDragData, DragDropEffects.All);

        Console.WriteLine("{0} - button1_MouseDown", DateTime.Now.TimeOfDay);
    }