获取屏幕分辨率的问题

易语言 2021-09-23 17:03:57

获取屏幕分辨率的问题

获取屏幕分辨率的问题开源。调用模块的系统_取屏幕分辨率 能获取正确的。

.子程序 系统_取屏幕分辨率, , 公开, 获取屏幕分辨率(无返回值)
.参数 显示器索引, 整数型, 可空, 索引值是从0开始
.参数 色深, 短整数型, 参考 可空, 存放色深的变量
.参数 屏幕宽度, 短整数型, 参考 可空, 存放屏幕宽度的变量
.参数 屏幕高度, 短整数型, 参考 可空, 存放屏幕高度的变量
.参数 屏幕刷新率, 短整数型, 参考 可空, 存放屏幕刷新率的变量
.局部变量 Device, DISPLAY_DEVICEA
.局部变量 DEVMODE, 短整数型, , "61"
.局部变量 DeviceName, 文本型

Device.cb = 420
.如果真 (EnumDisplayDevicesA (0, 显示器索引, Device, #EDD_GET_DEVICE_INTERFACE_NAME))
DeviceName = 到文本 (Device.DeviceName)
EnumDisplaySettingsA (取指针文本_ (DeviceName), -1, DEVMODE [1])
.如果真结束
色深 = DEVMODE [53]
屏幕宽度 = DEVMODE [55]
屏幕高度 = DEVMODE [57]
屏幕刷新率 = DEVMODE [61]