0

我正在使用 SHDocVw 启动新的 InternetExplorer 实例并在用户导航到的每个页面中注入一些代码:

var internetExplorer = new InternetExplorer
{
    Visible = true
};
RegisterEvents(internetExplorer);
internetExplorer.Navigate2(url);

注册事件:

private static void RegisterEvents(InternetExplorer internetExplorer)
{
     internetExplorer.NavigateComplete2 += new DWebBrowserEvents2_NavigateComplete2EventHandler(InternetExplorer_NavigateComplete2);
}

问题是它不是每次都被解雇。有时有效,有时无效。此代码以异步方法运行。现在是最好的部分。我试过这样的事情:

private static void RegisterEvents(InternetExplorer internetExplorer)
        {
            Thread t = new Thread(() =>
            {
                internetExplorer.DocumentComplete += InternetExplorer_DocumentComplete;
                while (true)
                {
                }
            });

            t.Start();
            Debug.WriteLine("RegisterEvents");
        }

不知何故,它每次都有效!但我不喜欢这种无限循环。我的第一种方法可能有什么问题?为什么第二个有效,我怎样才能让它变得更好?

4

0 回答 0