如何在Windows 8应用程序中访问其他程序的应用程序数据中的文件?

时间:2012-12-29 16:34:09

标签: c# visual-studio windows-8 microsoft-metro windows-store-apps

我正在编写一个Windows 8应用程序,需要访问另一个程序的应用程序数据中的文件。我已阅读过Window's file permssion guidelines,但没有找到办法。这甚至可能吗?如果是这样,我将如何去做呢?

5 个答案:

答案 0 :(得分:5)

使用winrt API无法实现。就像每个进程的IsolatedStorage一样。

File access and permissions in Windows Store apps

但是使用Hack可以绕过沙箱环境。

How to bypass WinRT / Metro sandbox using simple trick. Sample + Guide

但是这样的应用程序在提交到App Store时不会通过Windows 8兼容性测试。

答案 1 :(得分:1)

这是不可能从Windows商店应用程序,它们是沙盒,并需要声明访问互联网,相机和类似的功能,并且你不能声明你想要阅读其他应用程序数据。

答案 2 :(得分:1)

如果您不知道如何使用.net for Windows 8 stor。

,则无法实现

通过这个,您可以获得保存位置:

using Windows.Storage;
StorageFolder localFolder = ApplicationData.Current.LocalFolder;

有了这个,您可以通过app URI检索数据:

using Windows.Storage;
StorageFile file = await StorageFile.GetFileFromApplicationUriAsync("ms-appdata:///local/file.txt");

来源: http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh967755.aspx?cs-save-lang=1&cs-lang=csharp#locations_all_apps_can_access

答案 3 :(得分:1)

我找到了答案。我可以告诉用户在文件夹选择器中选择他们的用户文件夹。然后,一旦我获得该许可,我就可以通过编程方式导航到应用程序数据文件夹中的所需文件。

答案 4 :(得分:0)

这个答案取决于其他应用程序和您尝试访问的文件类型,但也许您可以实现对Share合同的支持,并告诉Windows您愿意接受哪些类型的文件。然后,用户可以使用其他应用程序并与您的应用程序共享。我不确定这对您的需求有多可行,但是因为您没有详细说明您想要获得哪些数据。