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

1

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

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

Теги:
winapi
controls

2 ответа

2
Лучший ответ

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

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

  • 1
    PAS - общедоступная спецификация? IPC - межпроцессное взаимодействие, RPM - ??. слишком много сокращений
  • 0
    а может, пас это файл паскаль?
Показать ещё 1 комментарий
4

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню