В Windows, как я могу перечислять и получать текст из элементов управления другого окна? - PullRequest
1 голос
/ 03 января 2009

Более конкретно - у меня есть дескриптор окна другого запущенного приложения. Это приложение содержит TListControl.UnicodeClass элемент управления где-то (я знаю это из Winspector). Как я могу, используя Windows API и этот дескриптор окна, просмотреть все элементы в этом элементе управления списком и получить текст от всех элементов?

Вы можете предположить, что это C / C ++, хотя на самом деле я буду использовать win32all для python. Ссылки на соответствующие вызовы API были бы хорошими.

Ответы [ 2 ]

4 голосов
/ 03 января 2009

Вы хотите EnumWindows и EnumChildWindows для перечисления. См. здесь для примеров и информации об использовании / предупреждений.

Для текста окна, когда у вас есть соответствующий HWND, вы хотите GetWindowText в целом и API для конкретного элемента управления, если текст хранится в другом месте (например, элементы управления списком). Для конкретного элемента управления вам потребуется знать конкретный API, и он может быть недоступен, хотя только вызовы API Windows (например, элементы управления с элементами рисования владельцем могут сохранять свой текст в приложении, недоступном для Windows).

2 голосов
/ 03 января 2009

Приведенные выше ответы совершенно неверны и даже не знают, что такое PAS. На Usenet ответили сотни раз за 20 лет. Вы должны использовать IPC конечно (RPM)

спросите в новостях: //comp.os.ms-windows.programmer.win32 для кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...