簡體   English   中英

使用HWND切換窗口

[英]Using HWND to switch window

我想構建一個程序,該程序可以更改活動窗口,因此我做了一些研究,找到了"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

將User32.lib添加到項目中。

您在Winuser.h中定義的符號SetForegroundWindow上收到鏈接器錯誤,該錯誤包含在標題window.h中。

之所以包含該標頭,是因為編譯器認為已定義了符號(在其他情況下,會出現編譯器錯誤),但未與實現此功能的庫鏈接,這就是為什么出現鏈接器錯誤的原因。

要解決此問題,請與User32庫鏈接。 您可以通過編輯項目鏈接器設置(在Visual Studio中轉到“項目”->“屬性”->“配置屬性”->“鏈接器”->“輸入”->“其他依賴項”)或使用編譯指示來完成此操作,即:

#pragma comment (lib, "user32") 

以下編譯指示使鏈接器在鏈接時搜索USER32.LIB庫。 鏈接器首先在當前工作目錄中搜索,然后在LIB環境變量中指定的路徑中搜索。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM