EnumDisplaySettings错误的分辨率
我正在做一个小工具来枚举显示并选择与1920x1080相关的模式。我已将我的工具发布给我的用户,这要归功于其中包含的遥测工具,我收到了很多报告,看起来我的EnumDisplaySettings工具对我的一些用户不起作用:EnumDisplaySettings错误的分辨率
示例1:
EnumDisplaySettings :
70 1680 1050
EnumDisplaySettings :
71 2715 1527
Win7的 - 显卡:NVIDIA的GeForce GTX 960 CPU:英特尔(R)核心(TM)i5-4590 CPU @ 3.30GHz
实施例2:
EnumDisplaySettings :
64 1768 992
EnumDisplaySettings :
65 2715 1527
Win7的 - 显卡:NVIDIA的GeForce GTX 1060 6GB CPU:英特尔(R)酷睿(TM)i5-3350P CPU @ 3.10GHz
你可以看到其他的 “report_error_x.txt”在这里:http://www.gaza-tools.com/koh/
我的代码是在这里:https://github.com/Gazatus/KoH_Ultimate_Edition/blob/master/HD%20-%20Scripts/patch1920.py
简化代码:
mode = 0
smode = win32api.EnumDisplaySettings(None, mode) #first display mode infos
if smode.PelsWidth == 1920 and smode.PelsHeight == 1080:
succes = 1
else:
mode += 1 #increment mode and return to top
在此先感谢!
原因是您的过程需要DPI virtualization。在清单中添加DPI感知设置,或者在启动时拨打SetProcessDPIAware
或SetProcessDPIAwareness
。
谢谢!我不是具有WinAPI功能的家庭教师,我使用python编码,仅用于科学,你能向我解释如何使用它吗?我已经红色:https://msdn.microsoft.com/fr-fr/library/windows/desktop/ms633543.aspx –
我链接到文档。你读过它,对吧? –
如果我明白我只需要放在第一行:user32.SetProcessDPIAware(),是吗? –
(问题:为什么win32api发现这些奇怪的分辨率? - 所有这些电脑似乎都有一个1920x1080显示屏)) –