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

本文介绍了如何使用Python在Windows系统下获取屏幕的真实分辨率和缩放分辨率,包括通过pywin32、ctypes、tkinter、Pillow、pyautogui、screeninfo和PyQt5等方法。特别强调了某些模块可能导致只获取到真实分辨率而无法获取缩放分辨率的问题。
摘要由CSDN通过智能技术生成

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
  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值