C# 资源中的Process.Start()文件

C# 资源中的Process.Start()文件,c#,C#,我想打开Microsoft Word文件(.docx)。因此,我尝试使用以下代码: System.Diagnostics.Process.Start(@"C:\Users\Max\Documents\Visual Studio 2008\Projects\Verenigingspakket\Verenigingspakket\Resources\Help.docx"); 但现在我想通过使用我的资源中的Help.Docx以这种方式运行它: System.Diagnostics.Process.S

我想打开Microsoft Word文件(.docx)。因此,我尝试使用以下代码:

System.Diagnostics.Process.Start(@"C:\Users\Max\Documents\Visual Studio 2008\Projects\Verenigingspakket\Verenigingspakket\Resources\Help.docx");
但现在我想通过使用我的资源中的Help.Docx以这种方式运行它:

System.Diagnostics.Process.Start(Properties.Resources.Help);
但该代码不起作用,因为它不是.Start()的好重载

有人知道如何解决这个问题并给我一点帮助吗


提前感谢

您必须先将其写入文件系统。。也许是这样的:

using (FileStream fileStream = new FileStream(@"C:\Help.docx", FileMode.Create, FileAccess.Write))
{
    using (BinaryWriter binaryWriter = new BinaryWriter(fileStream))
    {
        binaryWriter.Write(Properties.Resources.Help);
    }
}

编辑:我应该提醒那些好奇的人:资源中的二进制文件是以字节数组的形式返回的。。因此,您可以将它们直接传递到
BinaryWriter.Write()

您必须先将其写入文件系统。。也许是这样的:

using (FileStream fileStream = new FileStream(@"C:\Help.docx", FileMode.Create, FileAccess.Write))
{
    using (BinaryWriter binaryWriter = new BinaryWriter(fileStream))
    {
        binaryWriter.Write(Properties.Resources.Help);
    }
}

编辑:我应该提醒那些好奇的人:资源中的二进制文件是以字节数组的形式返回的。。因此,为什么您可以将它们直接传递到
BinaryWriter.Write()

属性.Resources.Help的类型是什么?正如我在问题的第一行中所说,它是一个MS word文件,那么.docx属性.Resources.Help的类型是什么?正如我在问题的第一行中所说,它是一个MS word文件,docxThanks回答,但我在“Designer模式”中添加了help.doxc文件,所以我只是将其拖到参考资料中,所以我认为我不需要再次将其流式传输到我的参考资料中,因为我希望程序携带帮助文件,所以我不必给出确切的位置。我不能像您那样将其转换为二进制文件,然后立即使用Process.Start(Properties.Resources.Help);否。
Process.Start
不会基于字节数组在“内存中”执行进程。您必须首先将其存储在文件系统中。。然后使用
Process.Start
执行文件。如果您只使用一个文件名(省略我的C:),那么它将被写入您的应用程序工作目录。您可以使用
过程从那里执行它。启动
。感谢您的回答,但是我在“设计器模式”中添加了help.doxc文件,所以我只是将其拖到资源中,所以我认为我不需要再次将其流式传输到资源中,因为我希望程序携带帮助文件,因此不必给出确切的位置。我不能像您那样将其转换为二进制文件,然后立即使用Process.Start(Properties.Resources.Help);否。
Process.Start
不会基于字节数组在“内存中”执行进程。您必须首先将其存储在文件系统中。。然后使用
Process.Start
执行文件。如果您只使用一个文件名(省略我的C:),那么它将被写入您的应用程序工作目录。您可以使用
Process.Start从那里执行它。