当您按“屏幕分辨率”对话框中的“识别”按钮时,Windows 会在每个显示器上显示大的白色显示器编号。在 Windows XP 中(使用 EnumDisplayDevices)很容易以编程方式与显示器坐标一起找到它们,但在 Windows 7 上它被破坏了。我怎样才能做到这一点?
- EnumDisplayDevices 和 GetMonitorInfo 是不再可靠 http://windows7forums.com/windows-7-programming-scripting/43596-multi-monitor-display-numbers-unreliable.html?language=ga在 Windows 7 中用于此目的。
- 我尝试了 GetMonitorInfo,然后从 MONITORINFOEX.szDevice (即 \.\Display2)中提取监视器编号,但没有成功。另一个人两年前并声称 getMonitorInfo 有一个错误。This bug http://connect.microsoft.com/VisualStudio/feedback/details/545217/windows-7-getmonitorinfo-returns-wrong-information#被微软标记为已修复,没有任何评论,但仍然可以在有最新更新的 win7 机器上重现。 (顺便说一句,谁能告诉我 - 也许这个错误在 win8 上不存在?)
- I tried 查询显示配置 http://msdn.microsoft.com/en-us/library/windows/hardware/ff569216(v=vs.85).aspx从新的 CCD API 但没有找到所需的信息。
有人知道路吗?
Windows 不提供允许应用程序获取显示设置应用程序使用的数字的功能。这些数字本身仅特定于显示设置应用程序,在系统或应用程序中没有任何意义。CCD APIs https://learn.microsoft.com/en-us/windows-hardware/drivers/display/connecting-and-configuring-displays用于查询/设置显示拓扑。
最好的选择是应用程序在提示用户选择显示器时定义自己的分配索引的标准。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)