WPF .NET CORE Process.Start(url)

2020.11.23

这是我之前在博客园写的文章,现在搬运过来,博客园文章地址

在WPF .NET Core中使用以下代码打开浏览器进入网页将会报错,而在WPF .NET Framework中却不会

public void OpenWebLink(string url)
{
    try
    {
        Process.Start(url);
    }
    catch (Exception e)
    {
        //Some exception handling code
        // ...
    }
    
}

将上述代码改为:

public void OpenWebLink(string url)
{
    try
    {
    	var psi = new ProcessStartInfo
	{
    	    FileName = url,
    	    UseShellExecute = true
	};
	Process.Start(psi);
    }
    catch (Exception e)
    {
        //Some exception handling code
        // ...
    }
    
}

则不会有异常,因为 UseShellExecute 属性在.NET Core中默认为 false,要打开一个网页链接应该将其设为 true,因为url并不是一个可执行文件。

参考:.Net Core 3.1 Process.Start(“www.website.com”) not working in WPF

发表评论