Как пометить приложение в Windows Vista/Seven для отключения настольной композиции через реестр или скрипт NSIS?Отключить компоновку рабочего стола для приложения
Обычно это выполняется в настройках совместимости в свойствах приложения.
Как пометить приложение в Windows Vista/Seven для отключения настольной композиции через реестр или скрипт NSIS?Отключить компоновку рабочего стола для приложения
Обычно это выполняется в настройках совместимости в свойствах приложения.
Если вы действительно должны, вы можете добавить запись в реестр в «ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers» с инструкцией WriteRegStr (я не думаю, что для этого есть официальный API, так как пользователь должен не контролировать эти параметры, а не разработчик (в конце концов, вы можете просто исправить сломанное приложение) Существует недокументированная функция называется SHGetAppCompatFlags читать флаги, но не «сеттера» AFAIK )
Когда ваш приложение начинает отключение состава с использованием DwmEnableComposition
:
DwmEnableComposition(DWM_EC_DISABLECOMPOSITION);
Это отключит композицию, пока не завершится (ваш) процесс нарушения.
Примечание: Этот API не изменяет предпочтения пользователя для композиции - только ваше приложение несовместимо.