Итак, я чувствую себя полным идиотом, но я пытаюсь запустить какой-то код, который я нашел в интернете. Реальный код не проблема, это вот что:
Я использую Visual Studio 2015, чтобы попытаться сделать программу на C ++, и этот код имеет функцию «FindWindow (некоторые параметры)» среди других. Вверху он импортирует windows.h. Visual Studio, однако, говорит мне, что идентификатор «FindWindow» не определен. Вот я и смотрю https://msdn.microsoft.com/en-us/library/windows/desktop/ms633499(v=vs.85).aspx
Требования: Winuser.h (включая Windows.h)
Библиотека: User32.lib
DLL: User32.dll
Итак, первым делом я попытался импортировать также winuser.h (не то, чтобы он говорил, что мне нужно, но это стоило того). Не хорошо. Итак, я смотрю на эту вещь User32.dll. Мне сказали, что вы не можете добавить саму .dll, вы добавляете .lib, поэтому я обращаю на это свое внимание. Я понятия не имею, что с этим делать, но то, что я обнаружил, говорит о разных вещах, таких как «Вам не нужно беспокоиться об этом, VS свяжет это за вас» или «Вы должны добавить его в зависимости (через свойства проекта — > linker -> бла-бла) «или» используйте это: #pragma comment (lib, «User32») «. Я попробовал их все в соответствии с инструкциями, но, похоже, они не сработали. Мое лучшее предположение, что я не правильно добавил его в зависимости.
Мой вопрос, то, что я делаю неправильно, и как я могу заставить Visual Studio распознавать FindWindow как существующий?
Если это поможет, вот что такое код:
#include <iostream>
#include <windows.h>
using namespace std;
int main(int argc, char* argv[]) {
HWND p = FindWindow("ProgMan", NULL);
return 0;
}
И «FindWindow» имеет красную волнистую линию под ним, наведя указатель мыши на «Ошибка: идентификатор« FindWindow »не определен»
Вы должны указать минимальную версию Windows для вашего приложения. Добавьте эти строки перед включением windows.h
#define _WIN32_WINNT 0x0500
#define WINVER 0x0500
Других решений пока нет …