Query Windows 10/8 Monitor Scaling fra Python Script?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har skrevet en ansøgning i python 3.6 og vil gerne køre en kommando for at se, hvad den nuværende skalering for en skærm er i Windows 10 eller 8 - noget som hvordan følgende returnerer skærmopløsning:


user32 = ctypes.windll.user32
screensize\_l = user32.GetSystemMetrics(0)
screensize\_w = user32.GetSystemMetrics(1)


Jeg forstår, at den nemmeste måde at gøre dette på kan være at gøre min ansøgning DPI opmærksom, men det medfører mange ekstra problemer i min ansøgning - så jeg vil gerne undgå denne mulighed.


Jeg har kigget i Windows-dokumentationen og troede, at 'GetDpiForMonitor' eller 'GetScaleFactorForMonitor' kan være det, jeg leder efter, men ved ikke, hvordan man implementerer disse kommandoer.


Jeg bruger allerede både win32api og ctypes, så noget som stole på nogen af ​​disse ville være fint - enhver hjælp ville blive værdsat!

Bedste reference