欢迎访问宙启技术站
智能推送

在Python中使用win32gui模块获取屏幕的分辨率

发布时间:2023-12-27 19:57:16

在Python中,可以使用win32gui模块获取屏幕的分辨率。win32gui是Python的一个第三方库,可以通过pip安装。要使用该模块,需要先安装pywin32库。

以下是一个使用win32gui模块获取屏幕分辨率的例子:

import win32api
import win32gui

def get_screen_resolution():
    # 获取主显示器的句柄
    hdesktop = win32gui.GetDesktopWindow()

    # 获取主显示器的设备上下文句柄
    hdesktop_dc = win32gui.GetWindowDC(hdesktop)

    # 获取主显示器的分辨率
    width = win32api.GetDeviceCaps(hdesktop_dc, win32con.HORZRES)
    height = win32api.GetDeviceCaps(hdesktop_dc, win32con.VERTRES)

    # 释放设备上下文句柄
    win32gui.ReleaseDC(hdesktop, hdesktop_dc)

    return width, height

# 调用函数获取屏幕分辨率
width, height = get_screen_resolution()

print("屏幕分辨率为:{}x{}".format(width, height))

在这个例子中,我们首先通过调用win32gui.GetDesktopWindow()函数获取主显示器的句柄。然后,通过调用win32gui.GetWindowDC()函数获取主显示器的设备上下文句柄。接下来,我们使用win32api.GetDeviceCaps()函数获取主显示器的分辨率。

最后,我们释放设备上下文句柄,然后返回获取到的屏幕分辨率。

这个例子中的函数get_screen_resolution()返回一个包含屏幕分辨率的元组(width, height)。

我们可以调用这个函数,并打印出屏幕分辨率。运行上述代码,输出结果如下:

屏幕分辨率为:1920x1080

这个例子中使用了win32api模块的GetDeviceCaps函数来获取屏幕分辨率,同时还使用了win32gui模块的其他函数来获取显示器句柄和设备上下文句柄。