Я знаю, что название не имеет большого смысла, в основном потому, что его трудно объяснить одной строкой. Итак, вот ситуация:
У меня есть программа, бинарная версия которой предназначена для Windows 2000 и новее. Теперь я добавил код, чтобы проверить, работает ли пользователь под Vista / 7, и если да, то проверьте, включен ли Aero / DWM. Исходя из этого, я отключу некоторые вещи, которые не имеют отношения к конкретной платформе, и включу некоторые другие функции. Моя главная проблема заключается в том, что для вызова DwmIsCompositionEnabled из Visual C ++ 2008 мне нужно добавить файл dwmapi.lib и скомпилировать его. Запуск бинарного файла в любом другом месте, кроме Vista или 7, приводит к ошибке «Невозможно найти компонент. Не удалось запустить приложение, так как dwmapi.dll не был найден». Это, конечно, ожидается, так как DWM является новым и недоступным для старых платформ.
Тогда у меня вопрос: смогу ли я как-нибудь справиться с этим? Один двоичный файл для всех версий ОС И включить этот код проверки DWM? Эта программа была написана под Visual Studio 2008, Visual C ++ с использованием MFC.