我想在Resources目录中打开一个包含的html文件,但似乎我的路径错了或者我犯了其他错误。
我目前处于表单类中,如果用户按下F1按钮,我想打开该文件。
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "f1.html";
proc.Start();
答案 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);