我正在开发一个C++ Windows应用程序,我经常尝试将屏幕截图保存到磁盘上。
我使用的是DirectX工具包 (DirectXTK)和返回HRESULT的函数SaveDDSTextureToFile。
问题是返回的HRESULT总是:
E_ACCESSDENIED通用访问被拒绝错误。
我认为这是一些权限/功能的问题(它是一个windows商店应用程序),但我找不到我需要什么权限才能将文件保存到磁盘。
DirectX ToolKit说它适用于Windows应用程序和桌面应用程序,但是我也找不到关于它们的codeplex的任何信息。
有人知道我需要什么才能让这件事奏效吗?
耽误您时间,实在对不起。
发布于 2013-09-11 13:08:10
我设法想办法做到这一点。基本上,正如MooseBoys所说,你不能保存到任何地方,因为应用程序是沙箱。
不过,您可以将其保存到AppData中的应用程序包的AppData文件夹中,这是我所需要的,因为我正在使用此功能进行调试。
所以我的电话是:
DirectX::SaveWICTextureToFile(deviceContext, texture2D, GUID_ContainerFormatPng, L"C:\\Users\\USERNAME\\AppData\\Local\\Packages\\PACKAGENAME\\TempState\\test.png");而且这个效果很好。
https://stackoverflow.com/questions/18660754
复制相似问题