如何在ie-c#的当前窗口中打开

时间:2010-12-15 10:32:08

标签: c# internet-explorer url

我正试图通过

打开一些东西
System.Diagnostics.Process.Start("iexplore.exe", uniquePartOfUrl);

然而,这并没有说明窗口已经打开的事实,如果是,那么我想要使用它。怎么可以这样做?

4 个答案:

答案 0 :(得分:4)

IMO,打开网页的最佳方式是使用以下语法:

Process.Start("http://www.mysite.com");

这样操作系统将在用户默认浏览器中打开它,如果具有该功能,则使用浏览器选项卡功能。当我已经选择了我想要使用的浏览器时,没有什么比让我使用特定浏览器的程序更让我烦恼了(好吧,也许有些事情可做)。在这里尊重用户的决定是一件好事。

答案 1 :(得分:0)

在CodeProject上,存在一个“Capturing the Running IE Instances in C#”项目

它为您提供了一种方法。

使用WIN32 API,您可以枚举打开的窗口,并过滤它们以获取IE的正在运行的实例。

它可能对您有所帮助。

答案 2 :(得分:0)

您可以尝试这样的事情:

var p = new System.Diagnostics.Process();
var s = new System.Diagnostics.ProcessStartInfo(uniquePartOfUrl);
s.UseShellExecute = true;
s.WindowStyle = ProcessWindowStyle.Normal;
p.StartInfo = s;
p.Start();

我现在没有编译器方便测试它,但想法是它应该简单地告诉操作系统“打开这个URL”并让操作系统决定如何使用现有的窗口,具体取决于应用。值得一试。

答案 3 :(得分:0)

对于重用IE的现有窗口,您可以通过两种不同的方式进行处理

  1. 找到IE的当前实例,然后使用该实例打开它。这由@LaGrandMere

  2. 给出的答案涵盖
  3. 使用内置设置设置IE以使其自行重用。要使用此方法,您可以按照this Microsoft support article

  4. 中的说明进行操作