获取系统显示分辨率例程

易语言 2020-08-27 20:22:25

获取系统显示分辨率例程

.子程序 取当前显示模式_模块, 显示模式信息, 公开, 取系统当前的显示模式(Win95/98/Me下无法取得刷新频率)。本命令为初级命令。
.局部变量 hwnd, 整数型
.局部变量 hdc, 整数型
.局部变量 currHRes, 整数型
.局部变量 currVRes, 整数型
.局部变量 currBPP, 整数型
.局部变量 currVFreq, 整数型
.局部变量 sBPPtype, 文本型
.局部变量 sFreqtype, 文本型
.局部变量 Ls, 显示模式信息

hwnd = 取屏幕句柄_ ()
hdc = 取设备场景_ (hwnd)
currHRes = 取设备场景信息_ (hdc, #HORZRES)
currVRes = 取设备场景信息_ (hdc, #VERTRES)
currBPP = 取设备场景信息_ (hdc, #BITSPIXEL)
currVFreq = 取设备场景信息_ (hdc, #VREFRESH)
Ls.宽度 = currHRes
Ls.高度 = currVRes
Ls.颜色位数 = currBPP
Ls.刷新频率 = currVFreq

.DLL命令 释放设备场景_, 整数型, "user32", "ReleaseDC", , ReleaseDC
.参数 窗口句柄, 整数型, , hwnd,要释放的设备场景相关的窗口句柄
.参数 设备场景, 整数型, , hdc,要释放的设备场景句柄

.DLL命令 取设备场景_, 整数型, "user32", "GetDC", , 获取指定窗口的设备场景 指定窗口的设备场景句柄,出错则为0
.参数 窗口的句柄, 整数型, , 将获取其设备场景的窗口的句柄。若为0,则要获取整个屏幕的DC;