【发布时间】:2011-06-05 14:26:37
【问题描述】:
如何从 Winapi(C 或 C++)检测当前屏幕分辨率?
一些背景:
我想启动一个新的 OpenGL 全屏窗口,但希望它以与桌面已设置的相同的水平和垂直大小打开。 (现在每个人都使用 LCD 屏幕,我认为这是获得屏幕原始分辨率的最佳方式。)
我并不迫切需要知道桌面颜色深度,尽管那将是一个不错的奖励。
【问题讨论】:
-
请确保您的代码能够以某种合理的方式处理多个监视器。
-
@In silico,什么是明智的做法?只在主显示器上开始游戏(这是一个小游戏)?
-
@Amigable Clark Kant:默认为主显示器,但允许用户在游戏内设置屏幕中设置特定显示器。也许还支持 mygame.exe /Monitor1 等如果您还支持窗口模式,请使用 MonitorFromWindow 知道如果他们切换回全屏,要恢复到哪里。
-
@Amigable Clark Kant:安德斯在什么对你的小游戏“明智”上一针见血。当我说“明智”时,我真正的意思是“适合您的应用程序的行为”。在电脑游戏的情况下,即使在多显示器环境中,我也应该能够正确配置显示器设置。
-
@计算机。但是你到底想要什么?这将是一款小型 2D 街机风格的游戏。如果您告诉我您对此类应用程序的期望,我可以在完成后向您发送第一个版本。 :)
标签: c++ c winapi api resolution