Windows 10: SetProcessDpiAwareness не действует

Моя операционная система — Windows 10 Корпоративная.

[сборка: DisableDpiAwareness] устанавливается в AssemblyInfo.cs

Я устанавливаю для SetProcessDpiAwareness() значение PROCESS_PER_MONITOR_DPI_AWARE = ​​2 и возвращаю S_OK = 0.

После этого я вызываю GetProcessDpiAwareness() и возвращаю PROCESS_DPI_UNAWARE = ​​0.

Почему GetProcessDpiAwareness() PROCESS_DPI_UNAWARE и почему мой процесс не отвечает на вызовы DPI? Как я могу отладить эту проблему?


person simsi    schedule 13.01.2017    source источник
comment
Какой UI-фреймворк вы использовали? Windows Forms, WPF?   -  person makzr    schedule 13.01.2017
comment
Я использую WPF в качестве пользовательского интерфейса.   -  person simsi    schedule 13.01.2017
comment
цель для 4.6.2, здесь приложения WPF для каждого монитора поддерживаются по определению:   -  person magicandre1981    schedule 13.01.2017
comment
Вы видели это? >   -  person makzr    schedule 15.01.2017
comment
Я могу максимально ориентироваться на 4.6.1. Как написано в моем вопросе, я добавил [сборка: DisableDpiAwareness]. Спасибо за подсказку, попробую выдаст ли GetLastWin32Error ошибку и отпишусь во вторник.   -  person simsi    schedule 15.01.2017
comment
почему вы не можете настроить таргетинг на 4.6.2?   -  person magicandre1981    schedule 15.01.2017


Ответы (1)


Проблема заключалась в том, что SetProcessDpiAwareness() необходимо вызывать перед любым действием Win32. Перед вызовом у меня было открыто окно всплывающего уведомления.

person simsi    schedule 19.01.2017