在C#中在外部浏览器中打开嵌入式html

时间:2012-03-21 14:53:11

标签: c# winforms browser embedded-resource

是否可以将html作为资源嵌入并使用C#中的外部浏览器启动它?我不想在项目中为这个html使用webbrowser控件。这是一个简单的帮助文件,如果可能的话,我想嵌入一个资源,这样我就可以有一个EXE来处理。

感谢

2 个答案:

答案 0 :(得分:4)

将资源html文件拖放到“资源”选项卡中,如下所示:

Resources View

然后使用以下代码:

var txt = Properties.Resources.sample;
var fileName = Path.ChangeExtension(Path.GetTempFileName(), ".html");

var fs = File.CreateText(fileName);
fs.Write(txt);
fs.Flush();
fs.Close();

Process.Start(fileName);

就是这样......

答案 1 :(得分:1)

 public void ExtractFileFromResources(String filename, String location)
        {
          //  Assembly assembly = Assembly.GetExecutingAssembly();
            System.Reflection.Assembly a =  System.Reflection.Assembly.GetExecutingAssembly();
                        Stream resFilestream = a.GetManifestResourceStream(filename);
            if (resFilestream != null)
            {
                 BinaryReader br = new BinaryReader(resFilestream);
                 FileStream fs = new FileStream(location, FileMode.Create); 
                 BinaryWriter bw = new BinaryWriter(fs);
                 byte[] ba = new byte[resFilestream.Length];
                resFilestream.Read(ba, 0, ba.Length);
              bw.Write(ba);
            br.Close();
            bw.Close();
            resFilestream.Close();
        }

    }

 string path = Path.Combine(System.IO.Path.GetTempPath() + "\file.html");

 ExtractFileFromResources("file.html", path);


 Process.Start(path);