我们正在使用 Internet Explorer 对象 ( Interop.SHDocVw, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null
) 在 WPF 应用程序之外打开资源管理器。
我们需要知道资源管理器何时关闭,因此我们处理 OnQuit 事件,但由于未知原因,我们多次收到该事件,具体取决于 URL。
以下 POC 演示了该问题:
using System;
namespace InternetExplorerQuitPOC
{
class Program
{
static void Main(string[] args)
{
do
{
SHDocVw.InternetExplorer internetExplorer;
internetExplorer = new SHDocVw.InternetExplorer();
internetExplorer.OnQuit += OnInternetExplorerOnOnQuit;
internetExplorer.ToolBar = 1;
internetExplorer.StatusBar = true;
internetExplorer.MenuBar = true;
internetExplorer.Visible = true;
object url = "https://www.notariado.org";
internetExplorer.Navigate2(ref url);
} while (Console.ReadKey() != null);
}
private static void OnInternetExplorerOnOnQuit()
{
Console.Out.WriteLine("Quit fired");
}
}
}