是否可以将html作为资源嵌入并使用C#中的外部浏览器启动它?我不想在项目中为这个html使用webbrowser控件。这是一个简单的帮助文件,如果可能的话,我想嵌入一个资源,这样我就可以有一个EXE来处理。
感谢
答案 0 :(得分:4)
将资源html文件拖放到“资源”选项卡中,如下所示:
然后使用以下代码:
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);