A comment byB связано с хорошими ресурсами для Java. Я пройду через соответствующие API Windows, если вы захотите перейти на родной язык с C++.
Чтобы перечислить все окна верхнего уровня в системе, используйте EnumWindows
. Вы даете ему функцию обратного вызова с сигнатурой EnumWindowsProc
, поэтому он получит каждый дескриптор окна в качестве первого параметра.
Вы можете получить расположение окна (в координатах экрана) и размеры с помощью функции GetWindowRect
. Пройдите в обработчик окна, который вы получили, и получите LPRECT
(указатель на RECT
).
Чтобы определить, максимально ли используется окно, используйте GetWindowPlacement
и проверьте поле showCmd
структуры, которую вы получите.
Наконец, чтобы получить заголовок окна, используйте GetWindowText
. (В стороне, если вы хотите получить текст элемента управления в другом процессе, вам необходимо отправить сообщение WM_GETTEXT
самостоятельно.)
См. [1] (http://stackoverflow.com/questions/ 6091531/how-to-get-the-x-and-y-of-a-program-window-in-java) [2] (http://stackoverflow.com/questions/11067484/get-titles-of- не-java-windows-in-java) [3] (http://stackoverflow.com/questions/31312793/why-does-my-call-to-winapi-getwindowplacement-fail-using-jna) – theB