Google Chromeでカスタムアプリから特定のURLを読み込んでタブ(新しいウィンドウではなく)を起動する方法はありますか?私のアプリケーションはC#(.NET 4 Full)でコーディングされています。
C#からSOAPを介していくつかのアクションを実行しており、正常に完了したら、ユーザーにブラウザーを介して最終結果が表示されるようにします。
このセットアップ全体は社内ネットワーク向けであり、一般消費向けではありません。したがって、特定のブラウザのみをターゲットにする余裕があります。さまざまな理由でChromeのみをターゲットにしています。
chrfin's 応答の簡略化として、Chromeがインストールされている場合は実行パス上にある必要があるため、単に呼び出すことができます:
Process.Start("chrome.exe", "http://www.YourUrl.com");
Chromeが既に開いている場合、新しいタブを開くと、これは期待どおりに動作するようです。
// 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/");
PDATE: Chrome beeingがLocalAppData
!
Daniel Hilgarthにchromeで新しいタブを開くことに同意しても、引数としてURLを指定してchrome.exeを実行するだけです。
Process.Start(@"%AppData%\..\Local\Google\Chrome\Application\chrome.exe",
"http:\\www.YourUrl.com");
ユーザーが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);
}
}