
我需要帮助如何检索我的屏幕的分辨率,如下图所示。
我发现这个文档 ,这真的很有帮助。 以下是我尝试的代码,基于这些文档:
int numberOfScreens = GetSystemMetrics(SM_CMONITORS); int wIDth = GetSystemMetrics(SM_CXSCREEN); int height = GetSystemMetrics(SM_CYSCREEN); std::cout << "Number of monitors: " << numberOfScreens << "n"; // returns 3 std::cout << "WIDth:" << wIDth << "n"; std::cout << "Height:" << height << "n";
但是,它只能识别和提供有关主监视器的信息。 我如何获得有关其他显示器的信息?
编写虚拟的第二个显示器驱动程序:从哪里开始?
在多个监视器上设置控制台窗口信息
有没有办法在多GPU环境中以编程方式select渲染GPU? (视窗)
检测哪个监视器显示窗口
“以扩展我的windows桌面到这个监视器”编程
windows驱动程序使用哪种编程接口来切换活动显示
在特定的屏幕上启动进程
Tkinter在Ubuntu 14.02报告宽度作为两个显示器的总和
在监视器连接/断开事件上运行脚本
双显示器设置下的SDL假全屏模式
#include <windows.h> BOol CALLBACK MonitorEnumProc(HMONITOR hMonitor,HDC hdcMonitor,LPRECT lprcMonitor,LParaM DWData) { MONITORINFO info; info.cbSize = sizeof(info); if (GetMonitorInfo(hMonitor,&info)) { std::cout << "Monitor x: "<< std::abs(info.rcMonitor.left - info.rcMonitor.right) <<" y: " << std::abs(info.rcMonitor.top - info.rcMonitor.bottom) << std::endl; } return TRUE; // continue enumerating } int main() { EnumdisplayMonitors(NulL,NulL,MonitorEnumProc,0); return 0; }
要枚举连接到计算机的所有设备,请调用EnumdisplayDevices函数并枚举设备。 然后调用EnumdisplayMonitors 。 这将返回每个监视器( HMONITOR )的句柄,该句柄与GetMonitorInfo一起GetMonitorInfo 。
如果 *** 作系统是windows XP SP2或更高版本(它在SP1下失败),也可以使用WMI的Win32_DesktopMonitor类 。
您也可以尝试使用注册表中的EDID值来获取大小,但在很多情况下,EDID值无效。
注册表路径
HKEY_LOCAL_MACHINE 系统 CurrentControlSet 枚举 disPLAY
总结以上是内存溢出为你收集整理的我如何获得每个显示器的尺寸(分辨率)?全部内容,希望文章能够帮你解决我如何获得每个显示器的尺寸(分辨率)?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)