[英]openCV - Using matchTemplate() from a window using hWND C++
[英]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.