我從EnumWindow
方法的一些主窗口,應用/程序hWnds
,並希望得到關於他們的信息。一般工廠的運行就足夠了。東西如IsWindowVisible
,WindowClassName
,WindowTextLength
,WindowText
,IsWindowUnicode
,Rect
,AppDesktopid
和AppDesktopRect
。最少需要使用的CWindow類的方法
想用CWindow
爲此,如:
CWindow w_Clss(hWnd);
w_Clss.Attach(hWnd);
然後使用CWindow
方法,如在CWnd
...
w_Clss.IsWindowUnicode();
w_Clss.WindowRect();
明知CWindow
是ATL
的包裝,我開始只聲明一個CWindow
對象並從那裏開始。沒有工作。
爲了讓我獲得程序信息CWindow
way-in stdafx.h等所需的最小代碼是什麼?
我的節目已經做的Win32 API ...由於CWnd
方法本質上是包裝器的Win32 API,使用這些是多餘的。在進行我的任務...我想要使用CWindow
方法如上。
這就是我以爲...我把:HWND Lcl_hWnd; \t CWindow窗口(Lcl_hWnd); \t RECT職位; \t Window.GetWindowRect(和位置);該程序不會編譯。接收到錯誤信息是:C2065:CWindow的:未聲明的標識符\ n \t \t 誤差\t \t 4錯誤C2065: '窗口':未聲明的標識符\t \ n 錯誤\t \t 2錯誤C2146:語法錯誤:缺少 ';'標識符「窗口」前\ n錯誤C2228:左「.GetWindowRect」必須有類/結構/ unionerror \ n錯誤C3861:‘窗口’:未找到標識\t 智能感知:標識符‘CWindow的’未定義 – user214810
這我認爲...我放在:HWND Lcl_hWnd; CWindow窗口(Lcl_hWnd); RECT職位; Window.GetWindowRect(和位置);該程序不會編譯。接收到錯誤信息是:C2065:CWindow的:未聲明的標識符錯誤4錯誤C2065:窗口':未聲明的標識符錯誤2錯誤C2146:語法錯誤:缺少「;」在標識符'Window'錯誤之前C2228:'.GetWindowRect'的左邊必須有class/struct/unionerror錯誤C3861:'窗口':標識符未找到IntelliSense:標識符「CWindow」未定義使用Visual Studio 2013. – user214810
有一件事是你可能需要命名空間ATL(請參閱更新後的代碼),另一個原因是您可能使用的是Express版本的Visual Studio,它沒有ATL。 –