- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
由于某些原因,DuplicateOutput1
失败,而 DuplicateOutput
没有。
#include <D3D11.h>
#include <DXGI1_5.h>
int main() {
ID3D11Device *device;
D3D_FEATURE_LEVEL levels[] = { D3D_FEATURE_LEVEL_11_1 };
D3D11CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, 0, levels, ARRAYSIZE(levels), D3D11_SDK_VERSION, &device, NULL, NULL);
IDXGIDevice *dxDevice;
device->QueryInterface<IDXGIDevice>(&dxDevice);
IDXGIAdapter *adapter;
dxDevice->GetAdapter(&adapter);
IDXGIOutput *output;
adapter->EnumOutputs(0, &output);
IDXGIOutput5 *output5;
output->QueryInterface<IDXGIOutput5>(&output5);
IDXGIOutputDuplication *outputDuplication;
auto hr1 = output5->DuplicateOutput(device, &outputDuplication);
S_OK 在这里
const DXGI_FORMAT formats[] = { DXGI_FORMAT_B8G8R8A8_UNORM };
auto hr2 = output5->DuplicateOutput1(device, 0, ARRAYSIZE(formats), formats, &outputDuplication);
}
0x887a0004 : 此系统不支持指定的设备接口(interface)或功能级别。
最佳答案
我会在这里发布@weggo 的答案,因为我差点错过了!
For those that might stumble upon this in the future, calling SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2) allows the DuplicateOutput1 to succeed. I have no idea why the DuplicateOutput1 checks the process dpi version, though.
我只想补充一点,您必须在 list 设置中的解决方案属性中将 DPI 感知设置为 False,才能让 SetProcessDpiAwarenessContext 工作:)
关于DXGI 1.5 DuplicateOutput1 失败并显示 DXGI_ERROR_UNSUPPORTED (0x887a0004),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48207677/
我正在使用 AcquireNextFrame 来截取我的桌面。是否可以在设置中设置我想要的输出图像的尺寸?我在文档中看到这个函数 IDXGIOutput::SetDisplaySurface 可以提供
我一直在尝试制作一个利用桌面复制 api 的应用程序,但没有使用 directx 的经验,结果证明这是一个相当大的挑战。似乎一切正常,直到我调用 output1->DuplicateOutput(),
我是一名优秀的程序员,十分优秀!