只有当页面未显示时才打开浏览器

本文关键字:浏览器 显示 | 更新日期: 2023-09-27 17:50:53

我有一个WPF应用程序,我需要外壳到一个浏览器应用程序。我使用Process.Start({url})方法来做到这一点。

但是,如果url已经显示在浏览器中,我不想打开另一个浏览器窗口或选项卡;我想要导航到已经打开的浏览器/选项卡。

这有可能吗?

只有当页面未显示时才打开浏览器

您可以使用以下方法枚举打开的IE窗口:

SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindows();
string filename;
foreach (SHDocVw.InternetExplorer ie in shellWindows)
{
    filename = Path.GetFileNameWithoutExtension(ie.FullName).ToLower();
    if (filename.Equals("iexplore"))
    {
        try
        {
            Uri test = new Uri(ie.LocationURL);
        }
        catch
        {
        }
    }
}

你需要添加一个引用到SHDocVw COM组件。

另外,如果你使用的是IE以外的浏览器,这将不起作用。

另一种选择是使用GeckoFX https://bitbucket.org/geckofx或一个单独的带有WebBrowser控件的winform应用程序,而不是使用Process。开始