Подтвердить что ты не робот

Как запустить вкладку Google Chrome с определенным URL-адресом с помощью С#

Можно ли запустить вкладку (а не новое окно) в Google Chrome с определенным URL-адресом, загруженным в нее из пользовательского приложения? Мое приложение закодировано в С# (.NET 4 Full).

Я выполняю некоторые действия через SOAP с С# и после успешного завершения, я хочу, чтобы пользователь получал конечные результаты через браузер.

UPDATE
Вот почему я выбрал Chrome специально и не настроен на другие браузеры. Здесь рассматриваются SOAP-сервисы SugarCRM. Мое приложение С# подключается к архитектуре плагинов Skype и всякий раз, когда выполняется исходящий вызов через Skype, он ищет базу данных SugarCRM для номера телефона и, если найден, записывает вызов через SOAP.

То, что он не может сделать, это предоставить транскрипт вызова - который пользователь должен вручную ввести. Чтобы облегчить работу конечного пользователя, я хочу открыть специальный интерфейс ввода данных вызова в браузере (Chrome), так что пользователь может ввести транскрипт.

Вся эта настройка предназначена для нашей внутренней сети, а не для общественного потребления - следовательно, я могу позволить себе ориентироваться только на определенный браузер.

Почему Chrome? сог...

  • Internet Explorer: IE был изгнан из сети (к счастью).
  • Opera: Модуль электронной почты SugarCRM, который широко основан на JavaScript, кажется, неисправен в Opera. Тем не менее, SugarCRM, кажется, работает лучше всего в нем.. но, к сожалению, эта небольшая икота (желая этого не сделает) делает ее непригодной.
  • Firefox. Это будет звучать странно - но из-за плохой конфигурации нашей сети Firefox часто сталкивается с проблемами с Sugar, а именно, не может войти в систему. в их имени пользователя/пароле и снова и снова возвращаться к экрану входа в систему без каких-либо сообщений об ошибках от Sugar. Как я уже сказал, это, скорее всего, связано с какой-то проблемой в нашей сети, которая развращает данные запроса и не позволяет устанавливать файлы cookie должным образом, но только Firefox демонстрирует это поведение (опять же, я бы этого не хотел).
  • Chrome. Это подводит нас к нашему последнему приличному варианту, Chrome, который, как ни удивительно, не страдает ни одним из этих условий. Поэтому, после шести месяцев экспериментов с различными браузерами, мы установили Chrome для SugarCRM. Пользователи могут свободно использовать любой браузер (кроме IE), который им нравится, но когда дело доходит до SugarCRM, он должен быть Chrome, который установлен на всех своих системах.

Это должно предоставить вам помещение для моего запроса....: D

4b9b3361

Ответ 1

Недавно я столкнулся с этой проблемой. Так как упрощение для ответа chrfin, так как chrome должен находиться на пути запуска, если он установлен, вы можете просто вызвать:

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

Это похоже на работу, как и ожидалось для меня, открытие новой вкладки, если хром уже открыт.

Ответ 2

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

Ответ 3

ОБНОВЛЕНИЕ: Пожалуйста, смотрите Dylan или d.c anwer для более легкого (и более стабильного) решения, которое не полагается на Chrome, установленный в LocalAppData!


Даже если я согласен с Даниэлем Хильгартем, чтобы открыть новую вкладку в хроме, вам просто нужно выполнить chrome.exe с вашим URL как аргумент:

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

Ответ 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 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);
        }
    }