Написать функцию-заглушку (многие детали исключены из кода)
BOOL WINAPI ChangeWindowMessageFilter(
UINT message,
DWORD dwFlag)
{
if (running_on_vista_or_later)
{
....
pfn = GetProcAddress(... "ChangeWindowMessageFilter");
return pfn (message, dwFlag);
}
return TRUE;
}
Если объект obj или lib, в котором находится эта функция, находится перед строкой user32.lib в строке ссылки, компоновщик должен выбрать функцию-заглушку, а не функцию из user32.lib.
Ваша функция-заглушка может обнаружить во время выполнения, что вы работаете в Vista или более поздней версии, и вызвать реальную функцию, в противном случае просто лгите и возвращайте TRUE.