我想在我的UWP中使用Microsoft Edge打开一个URL。正在搜索,我找到了这段代码:
using System.Diagnostics;
using System.ComponentModel;
private void button_Help_Click(object sender, RoutedEventArgs e)
{
Process.Start("microsoft-edge:http://www.bing.com");
}
但它显示以下错误:
当前上下文中不存在名称Process
如果我按 Ctrl + 。,它只显示生成类选项。
感谢任何帮助。
答案 0 :(得分:19)
Process.Start是.NET Framework中使用的传统方法,无法直接在UWP应用程序中使用。要在UWP中使用Microsoft Edge打开Web URI,我们可以使用 Launcher.LaunchUriAsync method。例如:
if (isNaN(x.value) || isNaN(y.value)) {
但是,这将使用默认Web浏览器打开URI。要始终使用Microsoft Edge打开它,我们可以将Launcher.LaunchUriAsync(Uri, LauncherOptions) method与指定的LauncherOptions.TargetApplicationPackageFamilyName property一起使用。 // 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
}
}
属性可以指定应该用于启动文件或URI的目标包。对于Microsoft Edge,其程序包系列名称为“Microsoft.MicrosoftEdge_8wekyb3d8bbwe”。以下是一个示例,说明如何使用它。
TargetApplicationPackageFamilyName
答案 1 :(得分:3)
您可以这样做,但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);
}