如何从应用程序访问“我的用户”文件夹中的文件?

时间:2014-06-19 06:27:10

标签: c# windows-store-apps windows-8.1

我正在使用metro UI创建一个Windows资源管理器应用程序。我想在我的用户文件夹中显示某个文件夹的内容。

我想知道是否可以访问users文件夹中的文件夹和文件,我该怎么办?

修改:

我尝试使用StorageFolder。对于文档文件夹,它给了我一个例外。 enter image description here

3 个答案:

答案 0 :(得分:1)

您可以访问用户文件夹的内容,如下所示:

string path = Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)).ToString();

答案 1 :(得分:1)

KnownFolders.DocumentsLibrary文件夹对其使用有限制。您必须在清单中手动声明功能,声明要访问的特定文件类型,然后在商店中发布您必须使用公司帐户(而非个人帐户)的应用程序,并且必须提交书面理由用于程序化使用该文件夹。

请参阅http://msdn.microsoft.com/en-us/library/windows/apps/hh464936.aspx以及http://msdn.microsoft.com/en-us/library/windows/apps/hh921583.aspx的第6.6节的说明。

请注意,这是针对程序化访问而未经用户同意。如果您使用文件选择器,用户当然可以指向文档文件夹,从而授予您使用它的权限。但如果不这样做,您需要使用您具有编程访问权限的应用程序数据文件夹。

这里的根本原因是,您为自己使用而生成的应用程序的文件,对用户没有直接意义,应该放入应用程序数据,以避免污染类似于文档的文件夹。不知道该怎么做。对于"用户数据"文件 - 用户确实理解,您应该给他们选择这些文件的位置,因此使用文件选择器。

音乐,图片和视频等一些文件类型可以通过清单功能直接访问库,但在这种情况下,用户通常会理解他们正在使用这种数据。

答案 2 :(得分:0)

使用SpecialFolder获取用户文件夹,使用Directory.Enumerate()获取文件夹中的文件。

相关问题