首頁 » C#開發 » [C#] Win11預設圖片瀏覽器

[C#] Win11預設圖片瀏覽器

作者:

分類:

C#可以用Process.Start()呼叫外部執行檔(.exe),但在程式綁定特定軟體的作法很不靈活,使用者也不能更換自己習慣的瀏覽器。

既然這樣,不如使用微軟的預設程式去開啟,讓作業系統去決定要用哪個軟體開啟檔案。

Win11開啟圖片畫面

在網路上找到很多寫法在Win10可行,但在Win11會遇到下面的問題

System.ComponentModel.Win32Exception (0x80004005): 沒有任何應用程式與此操作的指定檔案有關聯。
於 System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
於 System.Diagnostics.Process.Start(ProcessStartInfo startInfo)

以下是我最後找到的方法,在Win10/11都可行,讚啦!

string fullpath = @"C:\\Users\\USER\\Pictures\\image.jpg"; //your picture.
string explorer_path = Path.Combine(Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.System)).FullName, "explorer.exe");
ProcessStartInfo startInfo = new ProcessStartInfo(explorer_path, fullpath);
Process.Start(startInfo);
「cian」的個人頭像

留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *