Я разрабатываю приложение, которое работает в Windows 10 и 8.1, и столкнулось с проблемой масштабирования неклиентской области (строка меню, строка заголовка) при перемещении между мониторами с разным DPI. Клиентская область обрабатывается, но неклиентская область выходит за рамки. Осведомленность о DPI установлена на PerMonitorAware (v1, так как v2 недоступна в Windows 8.1).
Функция EnableNonClientDpiScaling делает именно то, что мне нужно (это общепринятый ответ на все подобные вопросы) — увы, это только часть API, начиная с Windows 10.
Есть ли способ вручную справиться с этим без ранее упомянутой функции, чтобы сохранить поддержку Windows 8.1? Или поддержка Windows 8.1 означает, что невозможно изменить размер неклиентской области при перемещении между экранами с разным DPI?