2

.pngGUIにC#を使用し、画像処理にC++(DLLを作成するように設定された同じソリューションの別のプロジェクトとして)を使用するWindows 8ストアアプリに取り組んでおり、指定されたパスからC++で画像を開こうとしていますC#から。これは、画像が Apps アセット フォルダーにある場合は正常に機能します.\\Assets\\image.pngが、Pictures ライブラリの画像にアクセスしようとするとE_ACCESSDENIED、C++ コードが表示されます。C# プロジェクト マニフェストで Documents and Pictures ライブラリ機能を指定しましたが、C++ は依然としてアクセスが拒否されます。C++ コードに特定のフォルダーへのアクセス権を与える方法を知っている人はいますか?

たとえば、「ファイル名」が「C:\Users\Name\Pictures\image0.png」のようなものである場合、wincodec.h で定義された関数を呼び出すと、結果が得られます。E_ACCESSDENIED

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


}
4

1 に答える 1

1

写真ライブラリの画像にアクセスしようとすると、E_ACCESSDENIEDが表示されます

はい、それは機能です。画像ライブラリへのアクセスを許可するには、アプリケーションのマニフェストでpicturesLibrary機能を宣言する必要があります。

詳細については、この投稿を参照してください。

于 2012-12-17T22:35:13.970 に答える