Отправка и получение данных из другой программы с использованием C#

Вот уже несколько дней я пытаюсь создать программу, которая читает и записывает значения из / в текстовые поля в другом приложении. Чтобы быть более конкретным: я хочу автоматически обновлять категории билетов в HP Service Manager.

Моей первой попыткой было использование SendKeys. Но я столкнулся с проблемой, заключающейся в том, что этот метод не очень надежен, так как мне нужно получить доступ к текстовым полям далеко друг от друга, и использование циклов с отправкой TAB было ненадежным [конечно, я добавил Application.DoEvents() и Thread.Sleep]. После некоторого времени тестирования я теперь не могу контролировать HPSM вообще [SendKeys запускаются на каждой программе, КРОМЕ HPSM]. Не знаю, что не так, но я прочитал в Интернете, что есть несколько проблем [работает только с запущенной Visual Studio, только во время отладки и т. Д.], Поэтому я отбросил это решение.

Я был бы рад, если бы я мог получить доступ к нужным текстовым полям напрямую. Теперь, используя Spy++, я могу выбрать нужные текстовые поля. Но, к сожалению, не существует фиксированного значения для идентификации определенного текстового поля: нет способа сделать это программно.

Единственное, что всегда остается неизменным, это структура / иерархия "Windows", предоставляемая HPSM [см. Скриншот]. Теперь моя идея: есть ли способ перебрать эти подокна и прочитать / изменить часть заголовка окна определенного окна? Или есть другой, может быть, более простой способ автоматизировать эту присоску?

Заранее спасибо за любую помощь, так как я медленно тону в отчаянии:)

Структура HPSM:

введите описание изображения здесь

0 ответов

Другие вопросы по тегам