Что нового

Проблема с вводом через ControlSend()

Пашочек

Новичок
Сообщения
7
Репутация
0
Добрый день!

Столкнулся с такой проблемой:
Необходимо периодически (2 раза в день) вводить в форму строку вида ББББЦЦЦЦББББ, где Б-буквы, а Ц-цифры, буквы латинские:smile:
Есть скрипт, который через ControlSend() это делает.
Всё прекрасно работает, но примерно раз в неделю введенная этим скриптом строка имеет вид БББББББББЦЦЦЦ, тоесть он переносит группу цифр в конец строки.

Я пробовал разбить ввод на 3 части (ввод первой группы букв, задержка, ввод цифр, задержка, ввод второй группы букв).
Не помогает, всё равно иногда цифры оказываются в конце...

Сталкивался кто-нибудь кроме меня с такой проблемой?
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Punto Switcher ? ;)

Попробуйте заменить ControlSend на
Код:
ControlSetText()


Как вариант, можно отправить строку в буфер обмена, а в поле ввода Ctrl+V или Shift+Ins.
 
Автор
П

Пашочек

Новичок
Сообщения
7
Репутация
0
Спасибо за совет!
Переделал через ControlSetText(), вроде работает.
Решило это проблему, или нет, покажет время... О результатах доложу ;)

P.S. Что интересно, у ControlSetText() и ControlSend() скорее всего разные механики работы (судя по тому, как текст появляется в окошке). Создаётся впечатление, что ControlSend() имитирует ввод с клавиатуры (буква за буквой), а ControlSetText() вставляет строку целиком.
 
Верх