簡體   English   中英

從Metro風格應用啟動Windows資源管理器

[英]Launch Windows Explorer from Metro style app

我想將文件下載到Windows Store應用程序中的DownloadsFolder。 然后,我想在DownloadsFolder(實際上是我在DownloadsFolder中創建的文件夾)上打開一個Windows資源管理器
但是我不知道該怎么做。

這個stackoverflow問題使用Metro風格的應用程序啟動桌面應用程序建議使用Launcher.LaunchUriAsync。 但是文檔聲稱:

您不能使用此方法在本地區域中啟動URI。 例如,應用程序無法使用file:///協議來訪問本地計算機上的文件。 相反,您必須使用Storage API來訪問文件。

確實,我嘗試使用“ file:”協議打開資源管理器窗口。 當我嘗試這種機制時,Launcher.LaunchIUriAsync失敗。

如果瀏覽器可以執行此操作,為什么不能呢? 有沒有辦法讓我調出Windows資源管理器,或者這超出了可能性?

我認為您無法從Metro啟動Windows資源管理器。 但是,您可以使用的一件事是文件選擇器。

http://code.msdn.microsoft.com/windowsapps/File-picker-app-extension-0cb95155

如果您願意在解決方案中包含一些非Windows Store組件,則有一個解決方法。 盡管無法直接啟動進程,但始終可以在Windows服務中運行HTTP偵聽器,該服務偵聽來自沙盒Windows Store(Metro風格)應用程序的命令並為您啟動Explorer(或任何其他進程)。 一種簡單的方法是在Windows服務中使用Web API服務-只需在控制器中實現GET操作,並具有要啟動的可執行文件的參數以及可選的可執行文件的參數。

不過,這是圍繞沙盒安全性進行的一種最終運行,因此,您可能想擁有一個量身定制的Web API,而該API僅啟動一組預打包的應用程序(例如Explorer或您自己的應用程序之一)。

當然,對於消費者應用程序來說,這不是一個好的解決方案,因為您不能僅僅安裝Windows應用商店中的所有程序。 但是,對於LOB應用程序來說,這並不是一個不好的妥協,因為您通常可以更好地控制環境。 這是將一些指標或其他數據顯示到活動圖塊中並在單擊圖塊時啟動桌面應用程序的好方法。 這是否帶來良好的用戶體驗是完全不同的對話。

BatRT允許您從WinRT應用程序運行批處理文件命令。 它利用URI調用。 這可用於打開應用程序或執行文件操作。

暫無
暫無

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

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