我正试图通过
打开一些东西System.Diagnostics.Process.Start("iexplore.exe", uniquePartOfUrl);
然而,这并没有说明窗口已经打开的事实,如果是,那么我想要使用它。怎么可以这样做?
答案 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的现有窗口,您可以通过两种不同的方式进行处理
找到IE的当前实例,然后使用该实例打开它。这由@LaGrandMere
使用内置设置设置IE以使其自行重用。要使用此方法,您可以按照this Microsoft support article。