1.pywinauto的issue
使用pywinauto时TreeView组件的item的click()方法点击坐标有时会出错,原因和windowsDPI设置有关。
2.WindowsDPI设置的参考文档
WIN10下系统缩放比例(DPI)的魔幻设置 (博文给出了两种计算DPI的方法,但是相关的论述是不准确的。)
3.结论
一个应用程序是否支持dpiAware(是否添加 dpiAware flag 或者 调用 setProcessDPIAware(ness) 相关接口),是否使用了DWM虚拟化会导致通过API获取UI组件坐标的方式不同,
有时候拿到的是缩放前的坐标,有时候拿到的是缩放后的坐标,
通过不同的应用程序不同的系统设置进行试验,才能找到正确的获取坐标的方法。
探讨使用pywinauto库在高DPI环境下遇到的问题,特别是TreeView组件的click()方法坐标点击错误,分析原因与解决方案,涉及Windows DPI设置及应用程序DPI意识。
2942

被折叠的 条评论
为什么被折叠?



