我正在使用这段代码从使用 Python 2.7 的 Surface Pro 1st Gen Win 8.1 PC 打印出显示器分辨率:
import ctypes
from ctypes import windll
user32 = ctypes.windll.user32
screensize = (user32.GetSystemMetrics(0), user32.GetSystemMetrics(1))
print "Screensize:", screensize
但问题是,通过命令提示符运行它与通过 Python shell 运行脚本,我得到了不同的结果。
只运行脚本我得到 1280x720,但通过 IDLE Shell 我得到 1920x1080。
现在,由于我在 Surface Pro 上运行它,我几乎可以肯定这与 DPI 缩放有关(有人在这里提出了类似的问题)。如果是这种情况,那一定是因为 Python IDLE 禁用了 DPI 缩放。
那么如何防止这种情况发生,以便在运行此代码时获得一致且准确的结果,无论它是如何运行的,或者运行它的机器类型是什么,或者是否禁用了 DPI 缩放?也许是 CEF Python?
任何帮助深表感谢。谢谢你。