У меня есть основное окно, приложение/программа hWnds
от EnumWindow
и хочу получить информацию о них. Достаточно запустить общий завод. Такие товары, как 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
являются, по существу, обертками для API Win32, использование которых будет избыточным. В ходе моих поисков ... Я хочу использовать методы CWindow
, как указано выше.
Вот что я подумал ... Я положил: HWND Lcl_hWnd; \t Окно CWindow (Lcl_hWnd); \t RECT Position; \t Window.GetWindowRect (& Position); и программа не будет компилироваться. Сообщения об ошибках, полученные являются: C2065: 'CWindow': необъявленный идентификатор \ п \t \t Ошибка \t \t 4 Ошибка C2065: 'Окно': необъявленный идентификатор \t \ п Ошибка \t \t 2 Ошибка C2146: синтаксическая ошибка: отсутствует ';' Перед идентификатором «Окно» \ п ошибка C2228: слева от «.GetWindowRect» должен иметь класс/структура/unionerror \ п ошибка C3861: „Окно“: идентификатор не найден \t IntelliSense: идентификатор „CWindow“ не определен – user214810
Это что я думал ... Я включил: HWND Lcl_hWnd; Окно CWindow (Lcl_hWnd); Позиция RECT; Window.GetWindowRect (& установки); и программа не будет компилироваться. Полученные сообщения об ошибках: C2065: «CWindow»: необъявленный идентификатор Ошибка 4 ошибки C2065: «Окно»: необъявленный идентификатор Ошибка 2 ошибки C2146: синтаксическая ошибка: отсутствует ';' перед идентификатором «Ошибка окна» C2228: слева от «.GetWindowRect» должна быть ошибка класса/структуры/unionerror C3861: «Окно»: идентификатор не найден IntelliSense: идентификатор «CWindow» не определен. Использование Visual Studio 2013. – user214810
. Одно дело в том, что вы может потребоваться пространство имен ATL (см. обновленный код), а другое - то, что вы, возможно, используете экспресс-версию Visual Studio, у которой нет ATL. –