【发布时间】:2012-11-10 07:57:06
【问题描述】:
我想将文件下载到 Windows 应用商店应用中的 DownloadsFolder。然后我想在 DownloadsFolder 上打开一个 Windows 资源管理器(实际上是在我在 DownloadsFolder 中创建的文件夹上)
但我不知道该怎么做。
这个stackoverflow 问题Launching a Desktop Application with a Metro-style app 建议使用Launcher.LaunchUriAsync。但文档声称:
您不能使用此方法在本地区域中启动 URI。例如,应用程序不能使用 file:/// 协议访问本地计算机上的文件。相反,您必须使用存储 API 来访问文件。
事实上,我正在尝试使用“file:”协议来调出资源管理器窗口。当我尝试这种机制时,Launcher.LaunchIUriAsync 失败了。
如果浏览器可以做到这一点,为什么我不能呢? 有没有办法让我打开 Windows 资源管理器,或者这超出了现实的可能性?
【问题讨论】:
-
这不能从 Windows 应用商店应用程序中完成。浏览器很特别,have permissions beyond those of standard Windows Store apps 所以不要将它们用作 Windows 应用商店应用程序可以做什么的示例。
-
你不能这样做。 Windows 应用商店应用程序是沙盒的,无法访问桌面。但是,WinRT API 允许在文件中导航 (FilePicker)。您是否有理由特别需要无法通过 WinRT API 实现的资源管理器?
-
我担心是这样的。我想要做的是让我们的 beta 测试人员的生活更轻松。当我们发布新版本时,我会下载新版本。我希望至少弹出资源管理器,以便他们可以右键单击并在 powershell 中运行它。
标签: c# windows-8 microsoft-metro