我尝试打开临时HTML文件的默认浏览器,并删除该文件,然后:如何使用默认浏览器打开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
,则返回null一个进程没有启动,但运行一个被使用(新标签在谷歌开通铬)。所以我不能等待这个过程退出。
所以,一个普遍的问题是:如何完成这项任务?如何向用户显示临时HTML文件并在查看后将其删除?
等待几秒钟然后删除文件? (浏览器不应该锁定它)虽然这会阻止刷新 –
詹姆斯邦德的东西在这里...... – Botonomous
这将防止刷新。用户可能会发现这个文件丢失在一个奇怪的磁盘上。 –