Как я могу предотвратить GetSystemMetrics() в Python, используя ПК с Windows, чтобы возвращать разные / неправильные значения?
Я использую этот фрагмент кода, чтобы получить распечатку с разрешения монитора с ПК Surface Pro 1st Gen Win 8.1 с использованием Python 2.7:
import ctypes
from ctypes import windll
user32 = ctypes.windll.user32
screensize = (user32.GetSystemMetrics(0), user32.GetSystemMetrics(1))
print "Screensize:", screensize
Но проблема в том, что я получаю разные результаты, основанные на запуске его через командную строку, а не на запуске сценария через оболочку Python.
Просто запустив скрипт, я получаю 1280x720, но через оболочку IDLE я получаю 1920x1080.
Теперь, так как я запускаю это на Surface Pro, я почти уверен, что это как-то связано с масштабированием DPI (кто-то поднял подобную проблему здесь). Если это так, то это должно быть потому, что масштабирование DPI было отключено для Python IDLE.
Итак, как мне предотвратить это, чтобы я получал последовательные и точные результаты при запуске этого кода, независимо от того, как он выполняется или на каком компьютере его запускает, или было отключено масштабирование DPI или нет? Может быть, CEF Python?
Буду признателен за любую оказанную помощь. Спасибо.