如何使用C#启动包含特定网址的Google Chrome标签

时间:2011-06-10 10:58:08

标签: c# google-chrome url tabs

我是否有办法在谷歌浏览器中启动标签(而非新窗口),并在自定义应用中加载特定网址?我的应用程序以 C#(.NET 4 Full)编码。

我正在通过C#中的SOAP执行某些操作,一旦成功完成,我希望通过浏览器向用户显示最终结果。

这整个设置适用于我们的内部网络而非公共消费 - 因此,我可以承受仅针对特定浏览器的费用。由于各种原因,我的目标是仅限Chrome

4 个答案:

答案 0 :(得分:38)

作为chrfin's响应的简化,由于Chrome应该在运行路径上(如果已安装),您只需致电:

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

这似乎对我有效,如果Chrome已经打开,则会打开一个新标签。

答案 1 :(得分:30)

// 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/");

答案 2 :(得分:19)

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


即使我同意Daniel Hilgarth在chrome中打开一个新选项卡,您只需要以您的URL作为参数执行chrome.exe:

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

答案 3 :(得分:4)

如果用户没有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);
        }
    }