我尝试使用默认浏览器打开临时 HTML 文件,然后删除该文件:
var tempFileName = Path.ChangeExtension(Path.GetTempFileName(), "html");
// I save document to temp file here...
Process process = null;
try
{
process = Process.Start(tempFileName);
}
catch (Win32Exception)
{
}
catch (ObjectDisposedException)
{
}
catch (FileNotFoundException)
{
}
var worker = new BackgroundWorker();
worker.DoWork += (s, we) => {
if (process != null)
{
process.WaitForExit();
try
{
File.Delete(tempFileName);
}
catch (IOException)
{
}
}
};
worker.RunWorkerAsync();
不幸的是,Process.Start
如果未启动进程,但使用正在运行的进程(在 Google Chrome 中打开新选项卡),则返回 null。所以我等不及该进程退出。
所以,一个普遍的问题是:如何完成任务?如何向用户显示临时 HTML 文件并在查看后将其删除?