如何使用C#启动带有特定URL的Google Chrome选项卡

cidc1ykv  于 2022-12-06  发布在  Go
关注(0)|答案(4)|浏览(162)

有没有办法在Google Chrome中启动一个标签页(而不是一个新窗口),并从自定义应用程序加载特定的URL?我的应用程序是用C#(.NET 4完整版)编写的。
我正在通过C#中的SOAP执行一些操作,一旦成功完成,我希望通过浏览器向用户呈现最终结果。
这整个设置是为我们的内部网络,而不是为公众消费-因此,我可以负担得起的目标,一个特定的浏览器只。我的目标
Chrome只
,出于各种原因。

yks3o0rb

yks3o0rb1#

作为chrfin's响应的简化,由于Chrome如果安装了应该在运行路径上,因此您可以只调用:

Process.Start("chrome.exe", "http://www.YourUrl.com");

这对我来说似乎和预期的一样,如果Chrome已经打开,就打开一个新的标签页。

baubqpgj

baubqpgj2#

// open in default browser
Process.Start("http://www.stackoverflow.net");

// open in Internet Explorer
Process.Start("iexplore", @"http://www.stackoverflow.net/");

// open in Firefox
Process.Start("firefox", @"http://www.stackoverflow.net/");

// open in Google Chrome
Process.Start("chrome", @"http://www.stackoverflow.net/");

对于.Net核心3.0我不得不使用

Process process = new Process();
 process.StartInfo.UseShellExecute = true;
 process.StartInfo.FileName = "chrome";
 process.StartInfo.Arguments = @"http://www.stackoverflow.net/"; 
 process.Start();
sqxo8psd

sqxo8psd3#

**更新:**请参阅Dylan或d.c的答复,以获得更简单(更稳定)的解决方案,该解决方案不依赖于LocalAppData中安装的Chrome!

即使我同意丹尼尔Hilgarth在chrome中打开一个新标签页,您也只需要以您的URL作为参数执行chrome.exe即可:

Process.Start(@"%AppData%\..\Local\Google\Chrome\Application\chrome.exe", 
              "http:\\www.YourUrl.com");
j5fpnvbx

j5fpnvbx4#

如果用户没有Chrome浏览器,它将抛出如下异常:

//chrome.exe http://xxx.xxx.xxx --incognito
    //chrome.exe http://xxx.xxx.xxx -incognito
    //chrome.exe --incognito http://xxx.xxx.xxx
    //chrome.exe -incognito http://xxx.xxx.xxx
    private static void Chrome(string link)
    {
        string url = "";

        if (!string.IsNullOrEmpty(link)) //if empty just run the browser
        {
            if (link.Contains('.')) //check if it's an url or a google search
            {
                url = link;
            }
            else
            {
                url = "https://www.google.com/search?q=" + link.Replace(" ", "+");
            }
        }

        try
        {
            Process.Start("chrome.exe", url + " --incognito");
        }
        catch (System.ComponentModel.Win32Exception e)
        {
            MessageBox.Show("Unable to find Google Chrome...",
                "chrome.exe not found!", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

相关问题