Python查看屏幕真实分辨率以及缩放分辨率(WIN)
调用Windows API来获取真实分辨率和缩放分辨率
####################################################################
注意!注意!注意!
重要的事情说三遍!以下这些程序中不要导入import pyautogui
! 不要导入import pyautogui
! 不要导入import pyautogui
!
**不然你的所有输出得到的都是 屏幕真实分辨率!**无法得到缩放后的分辨率!
NOTE: 可能还有其他模块会导致问题,但是目前我写的程序里面花了2天才知道如果你的程序里面导入的时候包含import pyautogui
那么所有查询缩放分辨率的地方都会显示真实分辨率。
#######################################################################
pywin32 模块(需单独安装,真实分辨率+缩放分辨率)
使用 win32api.GetDeviceCaps() 方法来获取显示器的真实分辨率。
使用 win32api.GetDC() 方法获取整个屏幕的设备上下文句柄,然后使用 win32api.GetDeviceCaps() 方法获取水平和垂直方向的分辨率。
from win32 import win32api, win32gui, win32print
from win32.lib import win32con
def get_screen_size():
# Get the resolution after Scale 缩放后分辨率
w = win32api.GetSystemMetrics (0)
h = win32api.GetSystemMetrics (1)
print(f'The resolution after scale is {
w}x{
h}')
return (w, h)
def get_real_resolution():
"""
Get the real resolution of the screen 真实分辨率
"""
hDC = win32gui.GetDC(0)
rw = win32print.GetDeviceCaps(hDC, win32con.DESKTOPHORZRES)
rh = win32print.GetDeviceCaps(hDC, win32con