VB.net WebBrowser正在锁定Office文件以防止删除

时间:2015-12-14 13:58:32

标签: .net vb.net file locking webbrowser-control

我在webBrowser控件中显示pdf和office文档。这些文件存储在zip文件中,并在Web浏览器中显示之前解压缩到app目录。当应用程序关闭时,我想删除任何已解压缩的文件以清理应用程序目录。

当用户显示文件时,我将浏览器添加到列表中以跟踪已打开的内容。当应用程序关闭时,我想发布对打开文件的任何引用,以下是使用pdf而不是office文件:

  Private OpenedFiles As New List(Of WebBrowser)

添加浏览器:

  Dim browser As WebBrowser
  browser.Navigate(FilePath)
  OpenedFiles.Add(browser)

表格结束活动:

  For Each myBrowser As WebBrowser In OpenedFiles 
      myBrowser.DocumentText = ""
      myBrowser.Navigate("about:blank")
  Next

当执行此代码时,任何打开的pdf都可以删除,但任何office文件都不能删除,Office应用程序仍然在任务管理器中运行。

请有人建议我如何关闭然后删除办公室文件。

由于

1 个答案:

答案 0 :(得分:2)

WebBrowser控件实现了IDisposable,因此当表单关闭时,您应该在每个上面调用.Dispose。这应该清理资源和文件句柄:

For Each myBrowser As WebBrowser In OpenedFiles 
   myBrowser.Dispose()
Next