web-dev-qa-db-fra.com

Comment lancer un onglet Google Chrome avec une URL spécifique en utilisant C #

Existe-t-il un moyen de lancer un onglet (pas une nouvelle fenêtre) dans Google Chrome avec une URL spécifique chargée à partir d'une application personnalisée? Mon application est codée en C # (.NET 4 Full).

J'exécute certaines actions via SOAP de C # et une fois terminé avec succès, je veux que l'utilisateur soit présenté avec les résultats finaux via le navigateur.

Toute cette configuration est destinée à notre réseau interne et non à la consommation publique - par conséquent, je peux me permettre de cibler un navigateur spécifique uniquement. Je cible Chrome uniquement, pour diverses raisons.

31

Pour simplifier la réponse de chrfin , puisque Chrome devrait être sur le chemin d'exécution s'il est installé, vous pouvez simplement appeler:

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

Cela semble fonctionner comme prévu pour moi, ouvrant un nouvel onglet si Chrome est déjà ouvert.

41
Dylan Watson
// 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/");
30
user1788956

PDATE: Veuillez voir la réponse de Dylan ou dc pour une solution un peu plus facile (et plus stable), qui ne repose pas sur Chrome étant installé dans LocalAppData!


Même si je suis d'accord avec Daniel Hilgarth pour ouvrir un nouvel onglet dans chrome il vous suffit d'exécuter chrome.exe avec votre URL comme argument:

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

Si l'utilisateur n'a pas Chrome, il lèvera une exception comme celle-ci:

    //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);
        }
    }
5
C0LD