问题描述
我正在尝试使用 IDirect3DDevice9::GetFrontBufferData()
获取多个显示器的屏幕截图并且它可以工作,但我无法弄清楚如何识别哪个 IDirect3DDevice9
对应于哪个显示器以及它的输出如何在 Windows 上定位“虚拟屏幕”。
我尝试了 IDirect3DDevice9::GetViewport()
但它总是获得左上坐标设置为“0,0”(以及适当的宽度和高度)的视口坐标,因此它不能用于识别哪个显示器在左边,哪个在右边.
到目前为止,我发现当我调用 EnumdisplayMonitors()
时,监视器会按顺序枚举,因为当我调用 IDirect3D9::GetAdapterdisplayMode()
时会枚举设备,这可以使用。但是,我没有看到文档说明是否可以保证这两个函数的枚举顺序。
我可以依赖具有相同枚举顺序的 EnumdisplayMonitors()
和 IDirect3D9::GetAdapterdisplayMode()
吗?有没有更好的办法?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)