在辅助监视器上工作

时间:2014-08-13 06:29:18

标签: c++ c winapi

我有两个连接到计算机的显示器。通过使用winapi EnumDisplaySettings(),我得到了每个监视器的名称和ID。 问题是,我无法看到谁是主要监视器,谁是辅助监视器。 我曾尝试使用GetMonitorInfo()和一些更多的API函数,但他们没有给我我想要的东西。

如何获取主监视器的名称?

1 个答案:

答案 0 :(得分:2)

GetMonitorInfo返回的

MONITORINFOEX结构为您提供dwFlags成员,MONITORINFOF_PRIMARY标记表示主监视器。

监视器的名称可通过szDevice成员获得。您可以使用此MonitorInformation.exeblog post)中的source code应用快速查看监控信息:

Monitor 0 at (0, 0) - (1680, 1050):
  Coordinates (rcMonitor): (0, 0) - (1680, 1050)
  Work Area (rcWork): (0, 0) - (1680, 1020)
  Flags (dwFlags): 0x1 <<-------- MONITORINFOF_PRIMARY
  Device Name (szDevice): \\.\DISPLAY1 <<-------- Name

Monitor 1 at (1680, 0) - (3360, 1050):
  Coordinates (rcMonitor): (1680, 0) - (3360, 1050)
  Work Area (rcWork): (1680, 0) - (3360, 1050)
  Flags (dwFlags): 0x0
  Device Name (szDevice): \\.\DISPLAY2

另见: