WPF .NET CORE使用Process.Start(url)打开网页报错[System.ComponentModel.Win32Exception:“系统找不到指定的文件。”]

在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

posted @ 2020-11-23 21:33  Jaywhenxiang  阅读(1770)  评论(0编辑  收藏  举报