簡體   English   中英

如何從dotnet在Windows 10上正確啟動Photos應用

[英]How to properly start the Photos app on windows 10 from dotnet

在WinForms應用程序中,可以使用以下代碼打開文檔:

using (Process process = new Process())
{
    ProcessStartInfo startInfo = new ProcessStartInfo();
    process.StartInfo = startInfo;
    startInfo.FileName = fileName;
    process.Start();
}

現在,如果變量fileName包含.jpg文件的完整路徑,則在Windows 10中,它將使用名為“ Photos某些應用程序打開
這可行,但是有一個我不明白的問題。

當我通過雙擊圖片在Windows資源管理器中打開圖片時,“ Photos ”應用會打開並顯示圖片。 它還在圖像的左側/右側具有導航按鈕。 使用這些按鈕,我可以在此文件夾中查看上一張/下一張圖片。
如果選擇“ SlideShow放映”,它將顯示該文件夾中的所有圖片

當我使用上面的代碼打開圖片時,同一應用“ Photos將打開並顯示圖片,但是這次沒有圖片左側/右側的導航按鈕。
如果選擇“ SlideShow放映”,則此文件夾將僅顯示該圖片,而該文件夾中還有其他圖片。

所以我的問題是,我怎樣才能找回這些導航按鈕?
此外,變量fileName可能還有.jpg以外的其他文件類型。
我需要一個通用方法,該方法將使用Windows中設置的默認關聯打開每個文件。

在Windows 7和Windows 8中,這從來沒有問題,導航按鈕始終出現。 它僅在Windows 10中以這種方式運行

編輯
如果我必須使用其他代碼來打開圖片而不是其他文檔,則我願意這樣做。
我總是可以先檢查文件的擴展名

您可能還需要將新進程的工作目錄設置為映像所在的文件夾。

看起來像這樣

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = fileName;
startInfo.WorkingDirectory = Path.GetDirectoryName(fileName);

process.StartInfo = startInfo;
process.Start();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM