2

我正在开发一个 Windows 8 商店应用程序,该应用程序将 C# 用于 GUI 和 C++(作为同一解决方案中的另一个项目,设置为制作 DLL)进行图像处理,并试图.png从指定的路径在 C++ 中打开图像来自 C#。当图像位于Apps资产文件夹中时,这工作正常,.\\Assets\\image.png但当我尝试访问图片库中的图像时,我得到E_ACCESSDENIED了C++代码。我已经在 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);


}
4

1 回答 1

1

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

是的,这是一个特点。您需要在应用程序的清单中声明 imagesLibrary 功能以允许访问图片库。

有关更多详细信息,请参阅此帖子

于 2012-12-17T22:35:13.970 回答