C++ 在Visual Studio 2015上导入库

C++ 在Visual Studio 2015上导入库,c++,visual-studio-2015,user32,C++,Visual Studio 2015,User32,好吧,我觉得自己像个十足的白痴,但我想做的是运行我在互联网上找到的一些代码。实际代码不是问题所在,问题在于: 我使用Visual Studio 2015尝试制作一个C++程序,这个代码在其他一些程序中具有“FindWindow(一些参数)”的功能。在顶部,它导入windows.h。然而,VisualStudio告诉我标识符“FindWindow”是未定义的。所以我查了一下: 要求:Winuser.h(包括Windows.h) 库:User32.lib DLL:User32.DLL 所以,我尝试的

好吧,我觉得自己像个十足的白痴,但我想做的是运行我在互联网上找到的一些代码。实际代码不是问题所在,问题在于:

<>我使用Visual Studio 2015尝试制作一个C++程序,这个代码在其他一些程序中具有“FindWindow(一些参数)”的功能。在顶部,它导入windows.h。然而,VisualStudio告诉我标识符“FindWindow”是未定义的。所以我查了一下:

要求:Winuser.h(包括Windows.h)

库:User32.lib

DLL:User32.DLL

所以,我尝试的第一件事就是也导入winuser.h(并不是说我需要,但值得一试)。无益。所以,我研究了User32.dll。我被告知不能添加.dll本身,而是添加.lib,因此我将注意力转向这一点。我不知道该怎么办,但我发现上面说了各种各样的话,比如“你不必担心这个,VS会为你链接它”或者“你必须将它添加到依赖项中(通过项目属性->链接器->等等)”或者“使用这个:#pragma comment(lib,“User32”)”。我按照指示试过了,但似乎不起作用。我最好的猜测是,我没有正确地将其添加到依赖项中

那么,我的问题是,我做错了什么,如何让VisualStudio认识到FindWindow的存在

如果有帮助,下面是代码:

#include <iostream>
#include <windows.h>

using namespace std;

int main(int argc, char* argv[]) {

    HWND p = FindWindow("ProgMan", NULL);
    return 0;
}
#包括
#包括
使用名称空间std;
int main(int argc,char*argv[]){
HWND p=FindWindow(“ProgMan”,NULL);
返回0;
}

“FindWindow”下面有一条红色的曲线,鼠标悬停在上面表示“错误:标识符“FindWindow”未定义”

您必须为应用程序指定最低Windows版本。在包含
windows.h

#define _WIN32_WINNT 0x0500
#define WINVER 0x0500

是这个吗?或者除了将其添加到依赖项,或者添加pragma注释,或者其他什么?我已经撤销了这些,因为我不想让多余的不必要的东西到处乱放,以免造成问题。仅仅添加这些行没有帮助。他不需要Unicode或ANSI的定义吗?FindWindow不是作为函数存在的-函数是findWindowA或FindWindowW,FindWindow是一个定义为指向其中一个基于Unicode设置的宏实际上我可能错了。如果UNICODE定义不存在,它应该默认为以…结尾的函数。。。。