Как искать .Net окна
От: bionicman Украина  
Дата: 13.09.07 12:36
Оценка:
Привет!

У меня стоит следующая задача:
Есть 2 аппликации, одна написана на ВинАПИ, вторая с использованием .Net. Обе — ГУИ приложения.
Надо написать третее приложение, которое должно получать данные(простой текст) из окон приложений модифицировать их, и вставлять обратно.
Для ВинАПИ приложения все просто — перебором всех окон приложения по какому-то ClassName для окна находишь искомое окно, а далее с помощю посилки сообщений и используя клипборд получаешь данные и вставляешь их обратно.
Проблема состоит в том, что для .Net приложения клас окна это что-то типа "WindowsForms10.Window.8.app.0.378734a", причем для всех окон оно одинаковое. Следовательно невозможно найти нужное тебе окно, ибо по тексту окна искать невозможно.

Внимание вопрос: как решить даную ситуацию?

Зарание спасибо!
Re: Как искать .Net окна
От: XopoSHiy Россия http://cleancodegame.github.io/
Дата: 16.09.07 06:02
Оценка:
Здравствуйте, bionicman, Вы писали:

B>Проблема состоит в том, что для .Net приложения клас окна это что-то типа "WindowsForms10.Window.8.app.0.378734a", причем для всех окон оно одинаковое. Следовательно невозможно найти нужное тебе окно, ибо по тексту окна искать невозможно.


Мы так и делаем: ищем сначала по ClassName по шаблону WindowsForms10.Window.8.*, а потом по тексту заголовка окна, тоже по шаблону. В тех редких случаях, когда и заголовок не помогает, в ход идут распознавалки по расположению окна и по его содержимому (сколько и каких дочерних окон, например).

А если не секрет, зачем у вас такая задача встала?
---
http://twitter.com/xoposhiy
http://xoposhiy.moikrug.ru
Re: Как искать .Net окна
От: Аноним  
Дата: 16.09.07 09:33
Оценка:
Во-первых, искать окна таким образом абсолютно неправильно.
Во-вторых, для одного приложения существует Control.FromHandle()

Ну и напоследок, посмотрите в сторону ManagedSpy (http://msdn.microsoft.com/msdnmag/issues/06/04/ManagedSpy)
Re[2]: Как искать .Net окна
От: bionicman Украина  
Дата: 17.09.07 07:00
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Во-первых, искать окна таким образом абсолютно неправильно.

А>Во-вторых, для одного приложения существует Control.FromHandle()

А>Ну и напоследок, посмотрите в сторону ManagedSpy (http://msdn.microsoft.com/msdnmag/issues/06/04/ManagedSpy)

Спасибо большое!!! ManagedSpy — то что нужно!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.