Как вставить текст в элементы управления текстом WindowsPython

Программы на Python
Ответить
Anonymous
 Как вставить текст в элементы управления текстом Windows

Сообщение Anonymous »

Я пытаюсь поближе познакомиться с программированием приложений с графическим интерфейсом пользователя в Windows, которые взаимодействуют с ОС. В качестве стартового проекта я хочу создать приложение, похожее на Grammarly.
Приложение должно выполнять следующие действия:
  • Автоматически (или в данный момент при нажатии сочетание клавиш), оно отправит содержимое текущего текстового поля на серверную часть.
  • Запустите его с помощью GPT API, чтобы исправить ошибки.
  • Вставьте исправленный текст обратно в активное текстовое поле.
    Шаг 1. и 2 работают нормально, я использую 

    Код: Выделить всё

    pywinauto.Desktop(backend="uia").window().descendants()
     чтобы найти потомка, который 

    Код: Выделить всё

    has_keyboard_focus()
     и извлеките текст.
Однако у меня возникли проблемы с его повторной вставкой. Замена текста с помощью pywinauto работала не во всех приложениях, поэтому сейчас я просто отправляю ctrl+a и ctrl+v. Это не очень надежно, так как занимает некоторое время, а иногда сочетание клавиш Ctrl+A отправляется слишком поздно, что приводит к дублированию текста.
Кроме того, в будущем я хочу использовать это, например. в Word, и он не всегда должен заменять весь документ, а, например, только текущий абзац или текущий фрагмент. Как лучше вставить текст обратно в текстовые элементы управления Windows?

Подробнее здесь: https://stackoverflow.com/questions/793 ... t-controls
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»