如何检索监视器信息?

Jon*_*ury 13 .net c++ windows winapi monitors

我正在尝试检索监视器ID,如Windows显示属性(#1,2等等)中所示,但我似乎无法找到方法.我尝试过使用EnumDisplayMonitorsEnumDisplayDevices.它们都返回类似"\.\ DISPLAY1"的内容.但是,此数字并不总是与Windows显示的数字相匹配,尤其是当使用2个视频卡驱动3个或更多显示器时.我是否缺少检索此信息的API调用,或者有没有办法从注册表或其他地方获取它?谢谢!

我尝试过这些方法:
Win32: EnumDisplayMonitors,EnumDisplayDevices:这些都没有返回活动的监视器,也没有一个返回正确的ID.
WMI: "select*from Win32_DesktopMonitor"不会返回所有监视器,也没有ID.
注册表:我在不同地点找到了显示器,我找到的地方都没有我想要的信息.

任何帮助深表感谢.:)

更新:这些是我要查找的监视器编号: 替代文字

Kir*_*sky 0

只是猜测,但看起来 Windows 显示iDevNum+1在 Windows 显示属性中。

  • 你写了“引导我走上正确的道路”,但没有写出正确的道路是什么。我现在正在考虑同样的问题,所以我对你最终如何解决这个问题很感兴趣:^) (6认同)