在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模块的其他函数来获取显示器句柄和设备上下文句柄。
