Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 仅当未显示页面时才打开浏览器_C#_Wpf - Fatal编程技术网

C# 仅当未显示页面时才打开浏览器

C# 仅当未显示页面时才打开浏览器,c#,wpf,C#,Wpf,我有一个WPF应用程序,我需要一个浏览器应用程序。我正在使用Process.Start({url})方法来执行此操作 但是,如果url已经显示在浏览器中,我不想打开另一个浏览器窗口或选项卡;我想导航到已打开的浏览器/选项卡 可能吗?您可以使用以下方法枚举打开的IE窗口: SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindows(); string filename; foreach (SHDocVw.InternetExplor

我有一个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或带有WebBrowser控件的单独winform应用程序,而不是使用进程。开始

是的,您可以尝试以下方法:NickV
string url=HttpContext.Current.Request.url.AbsoluteUri这是一个WPF应用程序。我没有HttpContext。我遗漏了什么吗?您的.cs文件顶部是否有using System.Web?这不是一个好主意。它破坏了预期的UI功能。