我有两个连接到计算机的显示器。通过使用winapi EnumDisplaySettings(),我得到了每个监视器的名称和ID。 问题是,我无法看到谁是主要监视器,谁是辅助监视器。 我曾尝试使用GetMonitorInfo()和一些更多的API函数,但他们没有给我我想要的东西。
如何获取主监视器的名称?
答案 0 :(得分:2)
GetMonitorInfo
返回的 MONITORINFOEX
结构为您提供dwFlags
成员,MONITORINFOF_PRIMARY
标记表示主监视器。
监视器的名称可通过szDevice
成员获得。您可以使用此MonitorInformation.exe
(blog 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
另见: