Windows такой windows
Mar. 18th, 2014 02:26 amТут делал скриптик для AutoHotkey, чтобы автоматом мышку перемещать за активным окном по Alt-Tab (удобно при использовании двух мониторов) и встретил неожиданную проблему. В винде есть такое понятие как DPI awareness у приложения, т.е. способность его реагировать не нестандартные DPI экрана, настроенные пользователем. Если приложение не умеет нестандартные DPI - происходит DWM Scaling его окна (растягивание контента, при этом шрифты начинают выглядеть размазанно). Так вот, выяснилось что положение и размеры активного окна (которое берет AutoHotkey) зависят от способности приложения работать с DPI. Если приложение этого делать не умеет, то его координаты и размер считаются исходя из стандартных 96 DPI (то есть, соответственно, цифры меньше), поэтому попытки передвинуть курсор в середину этого окна заканчиваются странно.
UPD: А самое странное в этой истории то, что майкрософт до сих пор не научило Skype нормально работать с нестандартными DPI, в результате чего или контакт лист выглядит так, что его с лупой рассматривать приходится, или все приложение отвратительно размазывается DWM scaling'ом. На макоси (на той же ретине) при этом все хорошо.
UPD: А самое странное в этой истории то, что майкрософт до сих пор не научило Skype нормально работать с нестандартными DPI, в результате чего или контакт лист выглядит так, что его с лупой рассматривать приходится, или все приложение отвратительно размазывается DWM scaling'ом. На макоси (на той же ретине) при этом все хорошо.