问题描述
目前在做的一款截图加Ocr的软件,在适配不同的屏幕缩放时发现获取到的屏幕分辨率有问题
import Tkinter as Tk
root = Tk.tk()
screenWidth = root.winfo_screenwidth()
screenHeight = root.winfo_screenheight()
这种形式在不同的win缩放情况下回返回完全相同的值,这对于冻结屏幕的操作是致命的
解决方法
在程序中使用以下代码可以获取到真实的分辨率,包含了缩放结果
import ctyps
user32 = ctypes.windll.user32
user32.SetProcessDPIAware(2)
[screenWidth, screenHeight] = [user32.GetSystemMetrics(0), user32.GetSystemMetrics(1)]
参考连接
https://stackoverflow.com/questions/3129322/how-do-i-get-monitor-resolution-in-python