2016-07-14 21 views
4

UWPでMicrosoft Edgeを使用してURLを開きます。検索、私はこのコードが見つかりました:C#UWP Microsoft EdgeでWeb Urlを開きます。

using System.Diagnostics; 
using System.ComponentModel; 

private void button_Help_Click(object sender, RoutedEventArgs e) 
{ 
    Process.Start("microsoft-edge:http://www.bing.com"); 
} 

をしかし、それは次のエラーを示しています。私はCtrlキー+ を押すと

The name Process do not exist in the current context

を。、クラス生成オプションのみを表示します。

何か助けていただければ幸いです。

答えて

15

Process.Start蛇腹コードを直接UWPアプリケーションで使用することができない.NET Frameworkで使用される伝統的な方法である参照。 UWPのMicrosoft EdgeでWeb URIを開くには、 Launcher.LaunchUriAsync methodを使用できます。例:

// The URI to launch 
string uriToLaunch = @"http://www.bing.com"; 

// Create a Uri object from a URI string 
var uri = new Uri(uriToLaunch); 

// Launch the URI 
async void DefaultLaunch() 
{ 
    // Launch the URI 
    var success = await Windows.System.Launcher.LaunchUriAsync(uri); 

    if (success) 
    { 
     // URI launched 
    } 
    else 
    { 
     // URI launch failed 
    } 
} 

ただし、デフォルトのWebブラウザでURIが開きます。常にMicrosoft Edgeで開くには、LauncherOptions.TargetApplicationPackageFamilyName propertyと指定してLauncher.LaunchUriAsync(Uri, LauncherOptions) methodを使用します。 TargetApplicationPackageFamilyNameプロパティは、ファイルまたはURIの起動に使用するターゲットパッケージを指定できます。 Microsoft Edgeの場合、そのパッケージファミリ名"Microsoft.MicrosoftEdge_8wekyb3d8bbwe"です。次に、これを使用する例を示します。

// The URI to launch 
string uriToLaunch = @"http://www.bing.com"; 
var uri = new Uri(uriToLaunch); 

async void LaunchWithEdge() 
{ 
    // Set the option to specify the target package 
    var options = new Windows.System.LauncherOptions(); 
    options.TargetApplicationPackageFamilyName = "Microsoft.MicrosoftEdge_8wekyb3d8bbwe"; 

    // Launch the URI 
    var success = await Windows.System.Launcher.LaunchUriAsync(uri, options); 

    if (success) 
    { 
     // URI launched 
    } 
    else 
    { 
     // URI launch failed 
    } 
} 
+0

、すべての音のロジックをいただきありがとうございますが、私はエラーを取得していますなぜ知らない:「型 『IAsyncAction』が参照されていないアセンブリで定義されていますが、アセンブリへの参照を追加する必要があります「Windowsのバージョン。 = 255.255.255.255、Culture =ニュートラル、PublicKeyToken = null、ContentType = WindowsRuntime '。 " Windows.System.Launcher.LaunchUriAsync行にあります。 – Julius

+0

@Juliusこれは奇妙なエラーです。私の側でコードをテストしたところ、うまくいきました。いくつかの検索の後、同様の問題[ここ](https://blogs.msdn.microsoft.com/lucian/2015/05/20/win10-apps-in-net-common-library-issues/)が見つかりました。このブログの** IAsyncAction **を確認してください。それが役に立てば幸い。 –

+1

あなたのリンクをありがとう、私の側で、私は同様のものを見つけ、きれいにインストールします。 – Julius

2

これは可能ですが、Microsoft Edgeがデフォルトのブラウザである必要があります。

private async void launchURI_Click(object sender, RoutedEventArgs e)  
{  
    // The URI to launch 
    var uriBing = new Uri(@"http://www.bing.com"); 

    // Launch the URI 
    var success = await Launcher.LaunchUriAsync(uriBing);    
} 
関連する問題