2

我正在编写一个 Windows 8 应用程序,它需要访问另一个程序的应用程序数据中的文件。我已经阅读了Window 的文件权限指南,但没有找到办法。这甚至可能吗?如果是这样,我将如何去做?

4

5 回答 5

5

无法使用 winrt API。这就像每个进程的独立存储。

Windows 应用商店应用程序中的文件访问和权限

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

如何使用简单的技巧绕过 WinRT / Metro 沙箱。样品+指南

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

于 2012-12-29T16:42:15.413 回答
1

这在 Windows 商店应用程序中是不可能的,它们是沙盒化的,需要声明访问互联网、相机等类似功能,并且您无法声明要读取其他应用程序数据。

于 2012-12-29T16:38:59.617 回答
1

如果您不知道如何将 .net 用于 Windows 8 存储,这是不可能的。

有了这个,你得到保存位置:

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

有了这个,您可以通过应用 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

于 2012-12-29T16:59:37.420 回答
1

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

于 2012-12-29T18:45:06.760 回答
0

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

于 2012-12-29T17:54:01.763 回答