C++ 使用HWND切换窗口

C++ 使用HWND切换窗口,c++,hwnd,C++,Hwnd,我想建立一个程序,改变活动窗口,所以我做了一些研究,发现了“HWND”。我建立了一个小程序来测试它 void main() { HWND hWnd = FindWindow(NULL, L"Rechner"); SetForegroundWindow(hWnd); } 但是,我一直在犯同样的错误 Fehler 1错误LNK2028:Nicht aufgel÷stes令牌(0A0003AA)““外部”C“int”stdcall SETFOREWORGROUNDINDOW(

我想建立一个程序,改变活动窗口,所以我做了一些研究,发现了
“HWND”
。我建立了一个小程序来测试它

void main()
{    
    HWND hWnd = FindWindow(NULL, L"Rechner");
    SetForegroundWindow(hWnd);
}
但是,我一直在犯同样的错误


Fehler 1错误LNK2028:Nicht aufgel÷stes令牌(0A0003AA)““外部”C“int”stdcall SETFOREWORGROUNDINDOW(struct HWND_uu*)”(?SETFOREWORGROUNDOW@$$J14YGHPAUHWUND_@@@Z)”,auf das在功能中“int”cdecl main(void)”(?main@$$HYAHXZ)verwiesen wird

您在Winuser.h中定义的符号SetForegroundWindow上收到链接器错误,该符号包含在头窗口.h中

您之所以包含标头,是因为编译器看到您已定义了符号(在其他情况下,您将得到一个编译器错误),但您没有链接到实现此函数的库,这就是为什么您会得到一个链接器错误

要解决此问题,请链接User32库。您可以通过编辑项目链接器设置(在Visual Studio中,转到项目->属性->配置属性->链接器->输入->其他依赖项)或使用pragma指令来完成此操作,即:

#pragma comment (lib, "user32") 

以下pragma导致链接器在链接时搜索USER32.LIB库。链接器首先在当前工作目录中搜索,然后在LIB环境变量中指定的路径中搜索。

将User32.LIB添加到项目。

如果您可以将错误消息翻译成英语,那就更好了。您永远不能链接到dll!您必须始终链接到.lib文件。那么,您可以在运行时使用WINAPI函数(如LoadLibrary和GetProcAddress)手动加载.dll。。但是我明白你的意思了,谢谢,现在我的答案是。。