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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM