只有当页面未显示时才打开浏览器
本文关键字:浏览器 显示 | 更新日期: 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。开始