使用HWND切换窗口

时间:2015-02-26 09:16:47

标签: c++ hwnd

我想构建一个改变活动窗口的程序,所以我做了一些研究并找到了"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

2 个答案:

答案 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环境变量中指定的路径中搜索。