Python查看屏幕真实分辨率以及缩放分辨率(WIN)

2023-12-13 04:28:56

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

文章来源:https://blog.csdn.net/peanutfish/article/details/134827073
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。