我嘗試打開臨時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
這將防止刷新。用戶可能會發現這個文件丟失在一個奇怪的磁盤上。 –