我想构建一个改变活动窗口的程序,所以我做了一些研究并找到了"HWND"
。我建立了一个小程序来测试它。
void main()
{
HWND hWnd = FindWindow(NULL, L"Rechner");
SetForegroundWindow(hWnd);
}
但是,我一直都会遇到同样的错误。
> Fehler 1 error LNK2028: Nicht aufgel÷stes Token (0A0003AA) ""extern "C" int __stdcall SetForegroundWindow(struct HWND__ *)" (?SetForegroundWindow@@$$J14YGHPAUHWND__@@@Z)", auf das in Funktion ""int __cdecl main(void)" (?main@@$$HYAHXZ)" verwiesen wird
。
答案 0 :(得分:2)
将User32.lib添加到项目中。
答案 1 :(得分:0)
您在Winuser.h中定义的符号SetForegroundWindow上遇到链接器错误,该错误包含在头文件window.h中。
您包含了标头,因为编译器发现您已定义了符号(在其他情况下您会收到编译器错误),但您没有链接到实现此函数的库,这就是您收到链接器错误的原因..
要解决此问题,请与User32库链接。您可以通过编辑项目链接器设置(在Visual Studio中转到Project-> Properties-> Config Properties-> Linker-> Input-> Additional Dependencies)或使用pragma指令来执行此操作,即:
#pragma comment (lib, "user32")
以下编译指示使链接器在链接时搜索USER32.LIB库。链接器首先在当前工作目录中搜索,然后在LIB环境变量中指定的路径中搜索。