2012-11-24 92 views
2

我正在使用Windows 8商店應用程序,它使用C#作爲圖像處理的GUI和C++(作爲在同一解決方案中的另一個項目,設置爲製作DLL),並且試圖從C#中指定的路徑在C++中打開.png圖像。如果圖像位於Apps資產文件夾中,例如.\\Assets\\image.png,但當我嘗試訪問圖片庫中的圖像時,我會在C++代碼中獲得E_ACCESSDENIED,這很有效。我在C#項目清單中指定了文檔和圖片庫功能,但C++仍然拒絕訪問。任何人都知道如何將C++代碼訪問權限授予某些文件夾?Windows 8商店應用程序C++文件訪問

如調用wincodec.h定義的函數,如果 '名' 就像是財產以後 「C:\ Users \用戶名\圖片\ image0.png」 HR將有結果E_ACCESSDENIED

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


} 
+0

您可以發佈您正在使用的代碼來獲取路徑,路徑是什麼以及如何嘗試打開文件? –

+0

您應該使用Asyn模式打開文件,MSDN中有許多Windows 8示例,告訴您如何打開圖像。請搜索關鍵字CreateDecoderFromStream。 –

回答

1

當我嘗試訪問圖片庫中的圖像時,我得到E_ACCESSDENIED

是的,這是一項功能。您需要在應用程序的清單中聲明picturesLibrary功能以允許訪問圖片庫。

有關更多詳細信息,請參見this post

相關問題