我正在开发一个 Windows 8 商店应用程序,它使用 C# 作为 GUI 和 C++(作为同一解决方案中的另一个项目,设置为制作一个 DLL)进行图像处理,我正在尝试打开一个 .png
C++ 中的图像来自 C# 指定的路径。当图像位于 Apps Assets 文件夹中时,这工作正常,即 .\\Assets\\image.png
但是当我尝试访问图片库中的图像时,我得到 E_ACCESSDENIED
在 C++ 代码中。我已经在 c# 项目 list 中指定了文档和图片库功能,但 C++ 仍然被拒绝访问。有人知道如何授予 C++ 代码对某些文件夹的访问权限吗?
例如,调用 wincodec.h 中定义的函数,如果“文件名”类似于“C:\Users\Name\Pictures\image0.png”,hr 将得到结果 E_ACCESSDENIED
if (SUCCEEDED(hr))
{
hr = pFactory->CreateDecoderFromFilename(
filename,
NULL,
GENERIC_READ,
WICDecodeMetadataCacheOnDemand,
&pDecoder);
}
最佳答案
when I try to access an image in the Pictures library I get E_ACCESSDENIED
是的,这是一项功能。您需要在应用程序的 list 中声明 picturesLibrary 功能,以便允许访问图片库。
参见 this post了解更多详情。
关于c# - Windows 8 商店应用程序 C++ 文件访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13537645/