Отсутствие точек входа в USER32.dll останавливает запуск программы, C ++, VS2015

Я пишу программу на C ++, используяVS2015 (Platform Toolset v140, Target Platform 8.1) на компьютере с Windows 10, и до недавнего времени моя программа работала на Windows 7, 8 и 10 очень хорошо.

После добавления сенсорной поддержки с помощьюGetPointerInfo(), Я получаю эту всплывающую ошибку сразу при выполнении на машинах Windows 7:

Не удалось найти точку входа с именем GetPointerInfo в USER32.dll

MS ясно заявляет, чтоGetPointerInfo() поддерживается только в Win8 и выше, и все в порядке, но я не хочу полностью нарушать совместимость моей программы с Windows 7.

Я предполагаю, что версия Windows 7USER32.DLL вообще не содержит функцию, но добавляет проверки во время выполнения в моей программе (т.е. только вызываетGetPointerInfo() еслиIsWindows8OrGreater() возвращает истину) не делает трюк.

Фактически, просто компилирую мою программу с любой ссылкой наGetPointerInfo() нарушит совместимость с Win7, независимо от того, вызывается функция или нет. Программа даже не войдетWinMain(), он просто бросает мне это сообщение и выходит.

Опять же, на Windows 8 и выше, все работает просто отлично.

Как мне это решить?

Я гуглил полдня, но, обладая очень небольшими знаниями о библиотеках DLL, настройках компоновщика и компилятора, я, очевидно, даже не знаю, как сформулировать свои поиски, потому что я до сих пор пустовал.

Я пробовал и многопоточные (/ MT) и многопоточные DLL (/ MD) в качестве моей библиотеки времени выполнения.

Я также попытался включить и отключить связывание на уровне функций, но результат остался прежним.

Ответы на вопрос(1)

Ваш ответ на вопрос