1

我正在使用这段代码从使用 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?

任何帮助深表感谢。谢谢你。

4

1 回答 1

0

如果您想要监控信息,请调用GetMonitorInfo

于 2015-05-20T11:24:12.960 回答