Выполнение приложения в WinXP / Vista, использующего функции Win7 - PullRequest
4 голосов
/ 27 мая 2011

Я разрабатываю приложение, которое использует некоторые из расширенных функций Windows 7, которые не были доступны в WinXP.Допустим, я хочу использовать ChangeWindowMessageFilterEx (или любые другие вызовы, которые были добавлены начиная с Win7), приложение компилируется и отлично работает на Win7.Но в XP я получаю «Точка входа в процедуру ChangeWindowMessageFilterEx не может быть расположена в библиотеке динамических ссылок USER32.dll» ДО того, как приложение запустится.

Есть ли способ запустить мое приложение в XP без компиляции двух разныхверсии?

1 Ответ

8 голосов
/ 27 мая 2011

Это достигается путем динамического разрешения ChangeWindowMessageFilterEx с использованием LoadLibrary и GetProcAddress. Если GetProcAddress возвращает NULL, вы просто не вызываете эту функцию.

Смотри также:
Проверка существования функций Windows API
Использование динамического связывания во время выполнения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...