在Resources目录中打开一个文件

时间:2014-03-27 13:21:49

标签: c# visual-studio-2012 path resources directory

我想在Resources目录中打开一个包含的html文件,但似乎我的路径错了或者我犯了其他错误。

我目前处于表单类中,如果用户按下F1按钮,我想打开该文件。

System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "f1.html";
proc.Start();

2 个答案:

答案 0 :(得分:1)

如果您想获得一些嵌入式资源,则需要调用

ResourceManager.GetStream

http://msdn.microsoft.com/en-us/library/zxee5096.aspx

它将返回一个内存流。将内存流读取到字节数组并将字节数组写入某个临时位置,然后调用

Process.Start()

使用临时文件的路径作为参数。

以下是示例代码:

public class Class1{
    public static void Main(string[] args){
        FileStream stream = null;
        string fullTempPath = null;
        try{
            byte[] page = Resources.HTMLPage1;
            fullTempPath = Path.GetTempPath() + Guid.NewGuid() + ".html";
            stream = new FileStream(fullTempPath, FileMode.Create, FileAccess.Write, FileShare.Read);
            stream.Write(page, 0, page.Length);
            stream.Flush(true);
            stream.Close();
            Process proc = new Process{StartInfo ={FileName = fullTempPath}};
            proc.Start();
        }
        finally{
            if (stream != null){
                stream.Dispose();
            }
        }
    }
}

答案 1 :(得分:0)

使用此代码使用默认浏览器

打开html文件
        string filename = Environment.CurrentDirectory + System.IO.Path.DirectorySeparatorChar + "f1.html";

        System.Diagnostics.Process.Start(filename);