Можно ли установить режим совместимости Windows приложения во время выполнения? - PullRequest
0 голосов
/ 11 ноября 2009

Мы используем стороннюю библиотеку, которая иногда не работает правильно на Win7. Мы знаем, как настроить это во время установки, но мы также хотели бы рассмотреть настройку во время выполнения. Возможно ли это, или этот контекст должен быть установлен до запуска? (Я думаю, что шансов мало, но я все равно решил спросить)

(приложение на C ++ - не то, чтобы оно действительно имело значение)

Ответы [ 2 ]

2 голосов
/ 11 ноября 2009

Настройки совместимости нельзя изменить после запуска приложения.

Однако, что вы можете сделать, так это запустить приложение запуска, которое проверяет правильность настроек совместимости, а затем запускает ваше приложение. Конечно, вам нужно убедиться, что у приложения запуска нет проблем с совместимостью.

0 голосов
/ 11 ноября 2009

Параметры совместимости - это просто макросы препроцессора, которые блокируют части Win32 API в заголовочных файлах, которые недоступны на выбранной платформе.

Однако, поскольку весь API предоставляется библиотеками DLL, вы можете определить, какая ОС работает во время выполнения, а затем получить необходимые точки входа для конкретной платформы, используя LoadLibrary и GetProcAddress .

...