簡體   English   中英

如何在IE的當前窗口中打開-C#

[英]How to open in current window of ie - c#

我正在嘗試通過

System.Diagnostics.Process.Start("iexplore.exe", uniquePartOfUrl);

但這並不能說明一個窗口已經打開的事實,如果是的話,我只想使用它。 怎么辦呢?

IMO,打開網頁的最佳方法是使用以下語法:

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

這樣,操作系統將在用戶默認的瀏覽器中將其打開,並在具有此功能的情況下使用瀏覽器選項卡的功能。 當我已經選擇了我想使用的瀏覽器時,沒有什么比讓程序無緣無故地迫使我使用特定瀏覽器的程序更讓我煩惱(好的,也許有些事情)。 尊重用戶的決定是一件好事。

在CodeProject上,存在一個項目“ 捕獲C#中正在運行的IE實例

它為您提供了一種方法。

使用WIN32 API,您可以枚舉打開的窗口,並對其進行過濾以獲取正在運行的IE實例。

這可能對您有幫助。

您可以嘗試如下操作:

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”,然后讓操作系統決定如何使用,取決於應用程序可以使用現有的窗口。 值得一試。

要重用IE的現有窗口,您可以采用2種不同的方法

  1. 查找IE的當前實例,然后使用該實例打開它。 這由@LaGrandMere給出的答案涵蓋

  2. 使用內置設置設置IE,以使其重用。 使用此方法,您可以按照此Microsoft支持文章中給出的說明進行操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM