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

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

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年12月6日
下一篇 2023年12月6日

相关推荐