Windows 8存储应用程序C ++文件访问

时间:2012-11-24 02:10:00

标签: c# c++ file-io windows-8

我正在开发一个Windows 8商店应用程序,该应用程序使用C#作为GUI和C ++(作为同一解决方案中的另一个项目,设置为生成DLL)进行图像处理,并尝试打开.png C#中的图像来自C#指定的路径。当图像位于Apps资源文件夹中时,这可以正常工作,即.\\Assets\\image.png,但当我尝试访问图片库中的图像时,我在C ++代码中得到E_ACCESSDENIED。我在c#项目清单中指定了文档和图片库功能,但C ++仍然被拒绝访问。有人知道如何给某些文件夹的C ++代码访问权限吗?

例如调用wincodec.h中定义的函数,如果'filename'是类似“C:\ Users \ Name \ Pictures \ image0.png”hr的结果将E_ACCESSDENIED

if (SUCCEEDED(hr))
{
    hr = pFactory->CreateDecoderFromFilename(
        filename,
        NULL,
        GENERIC_READ,
        WICDecodeMetadataCacheOnDemand,
        &pDecoder);


}

1 个答案:

答案 0 :(得分:1)

  

当我尝试访问图片库中的图像时,我得到了E_ACCESSDENIED

是的,这是一个功能。您需要在应用程序的清单中声明picturesLibrary功能才能访问图片库。

有关详细信息,请参阅this post