Значение в поле редактирования продолжает меняться на значение по умолчанию, когда я изменяю значение comboBox в AutoHotKey - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь автоматизировать ввод данных в программное обеспечение с помощью AutoHotKey. Одним из входных параметров является выпадающий список. И еще одно текстовое поле. Сначала мне нужно заполнить текстовое поле, а затем выбрать опцию раскрывающегося списка. После изменения параметра перетаскивания необходимо ввести новое значение для того же текстового поля. Выполнение этого вручную не изменяет предыдущее текстовое значение.

То есть, я выбираю вариант 1 и ввожу "привет мир". Затем я выбираю вариант 2 и ввожу "привет мир". Допустим, значение по умолчанию равно " default "

Функциональность программного обеспечения такова, что оно сохраняет текстовое значение в соответствии с параметрами, которые мы вводим. поэтому я могу go назад и вперед между параметрами, и текстовое значение отображается соответственно.

Однако, когда я пытаюсь автоматизировать это, ранее введенный текст изменяется на значение по умолчанию. И если я go назад и вперед между параметрами, значения становятся значениями по умолчанию.

Я использовал python для запуска сценария autohotkey. Я также загрузил часть кода и несколько изображений для ясности.

AHK код:

SetControlDelay -1
ControlSetText, Edit7, 452000, ahk_exe PerRoad44.exe
SetControlDelay -1
Control, Choose, 3, ComboBox1, ahk_exe PerRoad44.exe
ControlSetText, Edit7, 452000, ahk_exe PerRoad44.exe

python код:

import autopy
from ahk import AHK
from Configuration import Config

ahk = AHK()

ahk.run_script('Run ' + Config.SOFTWARE_PATH)
ahk = AHK()
winStructInputTab = ahk.find_window(title=b'PerRoad 4.4')
winStructInputTab.send(autopy.key.tap(autopy.key.Code.F1)) # this opens up the input tab of the software
ahk.run_script('SetWinDelay, 10')
ahk.run_script('SetWinDelay, 1000')
f = open(r"h2.ahk", "r")
ahk_script = f.read()
print(ahk_script)
ahk.run_script(ahk_script, blocking=False)

Я не мог не могу найти никакого решения для этого. Пожалуйста, помогите мне понять это. Спасибо

Текущий сезон - это выпадающий список, а модуль - это текстовое поле. Я пытаюсь установить значение для

1 Ответ

0 голосов
/ 12 марта 2020

Я нашел решение проблемы по ссылке (https://autohotkey.com/board/topic/48737-changing-the-value-of-an-edit-control-which-is-taken-over/).

Измененный код должен быть следующего типа:

ControlClick, Edit7, ahk_exe PerRoad44.exe
ControlSetText, Edit7,,ahk_exe PerRoad44.exe
ControlClick, Edit7, ahk_exe PerRoad44.exe
ControlSend, Edit7, {Home}+{End}, ahk_exe PerRoad44.exe
Control, EditPaste, 55000, Edit7, ahk_exe PerRoad44.exe

ControlFocus, ComboBox1, ahk_exe PerRoad44.exe
Control, Choose, 3, ComboBox1, ahk_exe PerRoad44.exe

ControlClick, Edit7, ahk_exe PerRoad44.exe
ControlSetText, Edit7,,ahk_exe PerRoad44.exe
ControlClick, Edit7, ahk_exe PerRoad44.exe
ControlSend, Edit7, {Home}+{End}, ahk_exe PerRoad44.exe
Control, EditPaste, 55000, Edit7, ahk_exe PerRoad44.exe

Это решило мою проблему.

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