Обращение к элементам управления других приложений
От: Novator333  
Дата: 21.10.10 14:02
Оценка:
Здравствуйте,господа профессионалы.
Вопрос следующий. Каким образом можно из кода обратиться к текстовым полям других приложений, например Opera?
Возможно ли это вообще? просто вопрос специфический и даже не получилось нормально загуглить, не знаю даже как правильно составить поисковый запрос.
В моем конкретном случае, необходимо запомнить элемент управления(текстовое поле) а в последующем сымитировать действие пользователя по введению туда какого либо текста. Буду очень благодарен если хотя бы подскажите где это можно найти? если это вообще есть в классах .NET...

21.10.10 22:10: Перенесено модератором из '.NET' — TK
Re: Обращение к элементам управления других приложений
От: Pavel Dvorkin Россия  
Дата: 21.10.10 14:33
Оценка:
Здравствуйте, Novator333, Вы писали:

N>Здравствуйте,господа профессионалы.

N>Вопрос следующий. Каким образом можно из кода обратиться к текстовым полям других приложений, например Opera?
N>Возможно ли это вообще? просто вопрос специфический и даже не получилось нормально загуглить, не знаю даже как правильно составить поисковый запрос.
N>В моем конкретном случае, необходимо запомнить элемент управления(текстовое поле) а в последующем сымитировать действие пользователя по введению туда какого либо текста. Буду очень благодарен если хотя бы подскажите где это можно найти? если это вообще есть в классах .NET...

Да, все можно (при двух если), но вот насчет дотнета — не знаю.

Если #1. Текстовые поля должны быть окнами, а не безоконными контролами (пример — контролы WPF). Убедиться в том, что они окна, можно с помощью Spy++, если он их находит — значит, окна.
Если #2. Эти текстовые поля должны быть или окнами класса "edit" или чем-то, что ведет себя как окна этого класса.

Если оба условия выполняются, то посылкой сообщений WM_SETTEXT , WM_GETTEXT можно добиться требуемого. Найти окно можно через FindWindow(Ex).

Есть ли такое в классах .NET — не знаю. Через PInvoke делается без особого труда.
With best regards
Pavel Dvorkin
Re[2]: Обращение к элементам управления других приложений
От: Аноним  
Дата: 22.10.10 04:17
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Если #1. Текстовые поля должны быть окнами, а не безоконными контролами (пример — контролы WPF). Убедиться в том, что они окна, можно с помощью Spy++, если он их находит — значит, окна.

PD>Если #2. Эти текстовые поля должны быть или окнами класса "edit" или чем-то, что ведет себя как окна этого класса.

Это не поможет с вводом в браузерные окна. Если бы такая возможность была.. жизнь была бы проще )

Novator333, для того чтобы читать из и вводить в элементы web-страницы надо использовать какой-либо механизм, который это обеспечивает. Например, поля ввода пароля браузеры не позволяют изменять извне, т.е.средствами браузера или его плагинов/расширений. Можете даже не пытаться, это сделано специально, чтобы защититься от умников, которые воруют логины/пароли. А вот хакинг вам поможет, ищите на других сайтах.
Re: Обращение к элементам управления других приложений
От: Vladek Россия Github
Дата: 22.10.10 08:02
Оценка:
Здравствуйте, Novator333, Вы писали:

N>Здравствуйте,господа профессионалы.

N>Вопрос следующий. Каким образом можно из кода обратиться к текстовым полям других приложений, например Opera?

Windows Automation API. Все правильные приложения должны поддерживать этот API, потому что инвалиды тоже хотят пользоваться компьютерами. Поэтому, этот инструмент универсальный.

Конкретно как работать с текстом из других приложений, ищите в этом разделе.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.