如何在excel中用vba获取屏幕分辨率?





屏幕分辨率是指屏幕显示的分辨率。

屏幕分辨率确定计算机屏幕上显示多少信息的设置,以水平和垂直像素来衡量,分辨率160×128的意思是水平方向含有像素数为160个,垂直方向像素数128个。

在屏幕尺寸一样的情况下,屏幕分辨率低时(例如 640 x 480),在屏幕上显示的像素少,但尺寸比较大。

屏幕分辨率高时(例如 1600 x 1200),在屏幕上显示的像素多,但尺寸比较小。

在vba中可以用api函数获取计算机系统的屏幕分辨率。

一、用api函数GetSystemMetrics获取屏幕分辨率。

GetSystemMetrics函数可以获取系统的各种配置信息和各种系统度量。

GetSystemMetrics函数返回的度量都是以像素为单位的。

它的语法如下

其中参数nIndex为要获取的对应信息。

参数nIndex为SM_CXSCREEN可以获得以像素表示的主显示器的屏幕宽度,为SM_CYSCREEN可以获得以像素表示的主显示器的屏幕高度。

利用这两个参数可以获得屏幕分辨率,代码如下:

二、用api函数GetDeviceCaps获取屏幕分辨率。

GetDeviceCaps函数可以获取指定设备的各种信息。

它的语法如下:

其中参数hdc为要获取的设备DC的句柄,index参数为要获取的设备的信息。

当参数hdc为0,index参数为HORZRES时,返回的是以像素表示的屏幕显示器的宽度。

为VERTRES时,返回的是以像素表示的屏幕显示器的高度。

基于以上的知识可以通过如下的代码获取屏幕的分辨率:

 

打赏
       

发表评论