获取系统缩放后的分辨率方法一
import win32api, win32con, win32gui, win32com, win32print
from win32.lib import win32con
w = str(win32api.GetSystemMetrics(0))
h = str(win32api.GetSystemMetrics(1))
print(w, h)
获取系统缩放后的分辨率方法二
import ctypes
w = ctypes.windll.user32.GetSystemMetrics(0)
h = ctypes.windll.user32.GetSystemMetrics(1)
print(w, h)
获取系统缩放后的分辨率方法三
import win32api,win32con
w = win32api.GetSystemMetrics(win32con.SM_CXSCREEN) #获得屏幕分辨率X轴
h = win32api.GetSystemMetrics(win32con.SM_CYSCREEN) #获得屏幕分辨率Y轴
print(w, h)
获取pc真实的分辨率
import win32api, win32con, win32gui, win32com, win32print
from win32.lib import win32con
hdc = win32gui.GetDC(0)
w = win32print.GetDeviceCaps(hdc, win32con.DESKTOPHORZRES)
h = win32print.GetDeviceCaps(hdc, win32con.DESKTOPVERTRES)
print(w, h)
结果如图
# 获取系统缩放后的分辨率方法一
import win32api, win32con, win32gui, win32com, win32print
from win32.lib import win32con
w = str(win32api.GetSystemMetrics(0))
h = str(win32api.GetSystemMetrics(1))
print(w, h)
# 获取系统缩放后的分辨率方法二
import ctypes
w = ctypes.windll.user32.GetSystemMetrics(0)
h = ctypes.windll.user32.GetSystemMetrics(1)
print(w, h)
# 获取系统缩放后的分辨率方法三
import win32api,win32con
w = win32api.GetSystemMetrics(win32con.SM_CXSCREEN) #获得屏幕分辨率X轴
h = win32api.GetSystemMetrics(win32con.SM_CYSCREEN) #获得屏幕分辨率Y轴
print(w, h)
# 获取pc真实的分辨率
import win32api, win32con, win32gui, win32com, win32print
from win32.lib import win32con
hdc = win32gui.GetDC(0)
w = win32print.GetDeviceCaps(hdc, win32con.DESKTOPHORZRES)
h = win32print.GetDeviceCaps(hdc, win32con.DESKTOPVERTRES)
print(w, h)
说明
当使用自动化进行点击动作的时候实际点击位置(通过inspect.exe工具或者python库uiautomation之类的方法获取到的控件坐标地址指的就是pc真实的分辨率下的坐标而不是缩放后的坐标)
比如,我的电脑缩放后的分辨率是1536 864, 我的电脑真实的分辨率是1920 1080,我需要点击桌面做左下角的话需要点击的是x=1920 y=1080