Эквивалент WM_SETTEXT, когда нет ручек - PullRequest
0 голосов
/ 22 апреля 2020

Цель

Написание кода (C # / C ++) для изменения текста в запущенном Windows EXE-приложении.

Выпуск

Приложение не имеет дескрипторов для внутреннего контроля.

Что я пробовал

  • Использование Spy ++ и аналогичные приложения, чтобы получить более подробную информацию о целевом приложении, но у меня нет ручек для элементов управления. Итак, я подозреваю, что это, вероятно, WPF или что-то подобное, и не WinForms или MF C.
  • Использование Sn oop WPF - хотя я получил доступ к соответствующему элементу управления TextBlock , о котором идет речь - я не смог изменить текст.
  • Использование различных программ на основе UiAutomation (2/3) - все дал мне тот же результат: я могу получить доступ к TextBlock , о котором идет речь, но не могу установить его значение. Похоже, что только неконтролируемые элементы управления поддерживают такие действия.
  • Я думал, что это встроенный браузер в основном приложении, но после использования инструмента inspect.exe я в основном убежден, что это не тот случай.

Мой вопрос

Есть ли способ установить значение работающего приложения - точно так же, как старый добрый WM_SETTEXT, но для случаев без дескрипторов?

Заранее спасибо.

1 Ответ

3 голосов
/ 22 апреля 2020

Если программа не использует оконные элементы управления и не поддерживает настройку текста через UIA, то нет стандартных средств настройки содержимого. Программа может иметь собственный API, хотя это маловероятно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...