簡體   English   中英

在C#中以彈出形式打開瀏覽器窗口

[英]Open a browser window as a pop under in C#

我正在嘗試使用C#將瀏覽器作為彈出窗口打開。 基本上,我正在檢測用戶何時啟動瀏覽器,並且我想在此之后立即打開一個新的瀏覽器窗口,該窗口位於用戶打開的窗口下方。 這是我到目前為止的內容:

url = "example.com";
Process[] pname = Process.GetProcessesByName("chrome");

if (pname.Length == 0) // if the user didn't start chrome
{
    chrome = false;
}
else // if chrome is running
{
    if (!chrome) // if the browser wasn't opened before and it was opened just now.
    {
        Process process = new Process();
        process.StartInfo.FileName = "chrome";
        process.StartInfo.Arguments = url;
        process.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;
        process.Start();
        //Process.Start("chrome", url);
    }

    chrome = true;
}

但這有時是在新窗口中,有時是在新選項卡中將其打開。 也許我應該使用其他方式啟動瀏覽器或其他方式? 謝謝!

調用外部程序(在這種情況下為Chrome)時,您必須“遵循其規則”。 通過查看Chrome參數( 在此處列出 ), --new-window提供了您想要的。 因此,您必須在代碼中執行以下更改:

process.StartInfo.Arguments = url + " --new-window";

如果要完全控制,也許應該創建自己的瀏覽器(例如WebBrowser類 )。

我建議使用URL作為文件名。 因為這樣做時,系統將自動檢測到該路徑是Web位置,並啟動用戶默認的瀏覽器。 這還將確定瀏覽器是否已經打開,如果已經打開,則在該窗口中打開而不是啟動新的瀏覽器。

與啟動Internet Explorer或Chrome的程序相比,大多數人更喜歡這樣做。

您的問題有點含糊,因此,如果這是您要尋找的答案,請告訴我們。

暫無
暫無

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

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