<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware>false</dpiAware>
</windowsSettings>
</application>
</assembly>
И убедитесь, что у вас вообще нет тега dpiAwareness
. Проверьте на слияние манифеста; strings
работает адекватно для проверки манифеста окончательного двоичного файла. Содержимое тега dpiAware
чувствительно к регистру. Однако, так как false
является значением по умолчанию, если тег отсутствует, я склонен считать, что скорее всего SetProcessDpiAware
или SetProcessDpiAwareness
вызывается чем-то. Обратитесь к strings
, чтобы убедиться, что у вас нет ссылок на SetProcessDpiAware
.
Вы можете попытаться потушить огонь огнем, позвонив по номеру SetProcessDpiAwareness(PROCESS_DPI_UNAWARE);
прямо перед тем, как создать свое первое окно; Однако это плохая идея.
Вся информация взята из MSDN Установка осведомленности о DPI по умолчанию для процесса , MSDN SetProcessDPIAwareness и личного опыта работы с этим материалом.