Страницы: 1
Добрый день.
Есть такая задача. Нужно получить текст, который вводит пользователь в edit на страничке, например, ya.ru. Сделать это нужно с помощью c++. С помощью IAccessible я смог получить все дочерние окна браузера, но не элементы управления на странице. То есть можно получить URL страницы, но не текст на странице. Есть ли способ это сделать, возможно, с помощью не IAccessible, чего-то другого?
P.S. Грязный хак вроде управления мышью и клавиатурой для выделения нужного текста не пойдет. FindWindowEx тоже не сработает, уже пробовался такой вариант.
Отсутствует
greenpiece
на указанной вами странице нет "edit". Подозреваю, что вы имел в виду поисковую строку на той странице.
В таком случае не понятно, про какого пользователя идёт речь. Если этот пользователь вы сами - то вы можете выделить введённый вами текст и скопировать в буфер обмена клавишесочетанием CTRL+C.
Если под пользователем понимается кто-то, кто использует вашу машину, ваш браузер и ваш профиль в нём - то можно написать javascript сценарий, который будет сохранять всё, что вводится пользователем на той странице. Установить этот сценарий в браузер можно с помощью дополнений вроде Scriptish или GreaseMonkey. Обратиться за помощью в написании такого сценария можно сюда.
mzfx
Отсутствует
greenpiece
Если контрол ввода в фокусе, то его можно получить через nsIDOMXULCommandDispatcher.focusedElement, текст контрола - например, через nsIDOMHTMLInputElement.value. Метод не универсальный - например, в случае с полем ввода, поддерживающем отображение форматированного текста, он не сработает.
FindWindowEx тоже не сработает, уже пробовался такой вариант.
В xul-окнах контролы не являются отдельными вложенными окнами (в отличие от, например, обычных win32-приложений); отрисовкой этих контролов занимается xul-движок, и делает это очень своим образом. Так что да, FindWindowEx не поможет.
Отсутствует
Страницы: 1