UiAutomator 求教:获取屏幕分辩率时,导入 pyautogui 模块和不导入 pyautogui 模块得到的分辩率不同,而且 pyautogui 模块并没有被使用,为什么呢?

咚咚_123 · 2019年10月17日 · 最后由 arrow 回复于 2019年10月17日 · 2978 次阅读

代码如下:不导入 pyautogui 模块

import win32api, win32con
import ctypes

x = win32api.GetSystemMetrics(win32con.SM_CXSCREEN)
y = win32api.GetSystemMetrics(win32con.SM_CYSCREEN)
print("1:", x, y)

user32 = ctypes.windll.user32
screensize = user32.GetSystemMetrics(0), user32.GetSystemMetrics(1)
print("2:", screensize)

运行结果:
1: 1536 864
2: (1536, 864)
截图:

导入 pyautogui 模块,代码完全一样,没有更改任何系统设置,

import pyautogui
import win32api, win32con
import ctypes

x = win32api.GetSystemMetrics(win32con.SM_CXSCREEN)
y = win32api.GetSystemMetrics(win32con.SM_CYSCREEN)
print("1:", x, y)

user32 = ctypes.windll.user32
screensize = user32.GetSystemMetrics(0), user32.GetSystemMetrics(1)
print("2:", screensize)

运行结果:
1: 1920 1080
2: (1920, 1080)

截图:

1920/1536=1.25,刚好是系统显示设置的 125% 的比例,

pyautogui 模块导入后,并没有没使用,为什会影响到打印的分辨率?

共收到 1 条回复 时间 点赞

import 的时候,会自动执行 package 下的__init__.py文件,你点进去看一下就知道 pyautogui 执行了什么操作

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册