Я делаю свое приложение для просмотра на дюйм для каждого монитора, установив <dpiAware>True/PM</dpiAware>
в файл манифеста. Я могу проверить с помощью проводника процессов, что это действительно работает или вызывается GetProcessDpiAwareness.
Это все работает отлично, и я могу масштабировать все в клиентской области в моем коде. Тем не менее, моя единственная проблема заключается в том, что если я перетащить свое приложение с монитора с системной меткой на монитор без системы dpi, строка заголовка и любое системное меню либо станут слишком большими, либо слишком маленькими. Это не относится к большинству встроенных приложений (например, calc, edge browser и т.д.), Поэтому должно быть достаточно, чтобы масштабировать его. Кто-нибудь, как разработчики MS это сделали?
Снимок экрана ниже должен объяснить мою проблему лучше. Также обратите внимание, что отступы между кнопкой close, min и max различаются при масштабировании (96 точек на дюйм).
Пример приложения. Я подключаю очень простое приложение, которое доступно для просмотра в режиме мониторинга.