File io Windows 8 metro应用程序访问任意文件路径

File io Windows 8 metro应用程序访问任意文件路径,file-io,windows-8,microsoft-metro,File Io,Windows 8,Microsoft Metro,在metro中,以下代码将: 然而,即使我在功能中检查了所有内容,也添加了文件选择器,并且允许所有文件类型。我仍然无法访问此文件,将引发相同的异常 有人知道如何读取任意文件路径中的文件吗?这在metro风格的应用中是可能的。不可能。您可以访问这些库—图片、文档、视频—如果用户将该文件夹放入其中一个库中(使用桌面上的Windows资源管理器),则一切就绪。您甚至可以编写一个桌面exe,将文件夹放入库中,但您不能自己启动该exe,也不能确保用户没有手动更改库 在SHCreateItemInKnown

在metro中,以下代码将:

然而,即使我在功能中检查了所有内容,也添加了文件选择器,并且允许所有文件类型。我仍然无法访问此文件,将引发相同的异常


有人知道如何读取任意文件路径中的文件吗?这在metro风格的应用中是可能的。

不可能。您可以访问这些库—图片、文档、视频—如果用户将该文件夹放入其中一个库中(使用桌面上的Windows资源管理器),则一切就绪。您甚至可以编写一个桌面exe,将文件夹放入库中,但您不能自己启动该exe,也不能确保用户没有手动更改库

在SHCreateItemInKnownFolder中查找用于库工作的shell API的起点。我还没有试着从Metro端调用这些API;你可以看看他们是否有帮助,但我敢打赌他们将不可用。如果您不喜欢shell API的COM互操作,您可以查看源代码-我不想将其全部捆绑到Metro应用程序中,但您可以将其部分复制到您的应用程序中

String fileName = @"C:\Test\dd\ccc.jpg";
StorageFile file = await StorageFile.GetFileFromPathAsync(fileName);