Некорректный ввод текста из переменной

Dungus

Client
Регистрация
25.03.2020
Сообщения
34
Благодарностей
2
Баллы
8
Доброго времени суток уважаемые форумчане!
Помогите, пожалуйста, решить задачу, не знаю с какой стороны подойти к ее решению.
Пишу обычный шаблон-кликер, в котором используется следующая комбинация: при заполнения профиля в приложении загружается фотография. Для простоты сделал через обычный клик по иконке фотки в приложении через autoitx и вставку пути в окно. Путь до фотки парсится обычным кубиком "получить список файлов в каталоге", и запихивается в список, откуда, соответственно, и берется переменная с путем и вставляется в строку "имя файла" через команду autoitx.send. Код простой и выглядит так:

var handle = AutoItX.WinGetHandle("Choose an image");
var editbox = AutoItX.ControlGetHandle(handle, "[CLASS:DirectUIHWND; INSTANCE:2]");
AutoItX.Send(project.Variables["fotoman"].Value);
System.Threading.Thread.Sleep(1500);
AutoItX.Send("{ENTER}");
System.Threading.Thread.Sleep(1500);
AutoItX.Send("{ENTER}");
AutoItX.Send("{ESC}");
System.Threading.Thread.Sleep(3000);

и вроде все даже работает, но! 5 раз работает нормально, а дальше вместо пути до фотки типа C:\user\[email protected]\avatarman\ksdhfskjf.jpg вставляется C^user\anton@mail/ru\avatarman\ksdhfskjf/jpg - искажается путь. Причем в листе и в переменной он выглядит как надо.
Я пробовал записывать путь в текстовый файл и оттуда получать строку, пробовал обрабатывать через "обработка текста" переменную и после этого ее содержимое вставлять. Даже стоит принудительное переключение алфавита перед вводом. Результат один и тот же - несколько раз нормально, потом кривой путь и все.
Может кто сталкивался с подобным? Буду признателен за ответы

72190
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 804
Баллы
113
Я точно не знаю как работает AutoIt. Но, возможно, дело в текущей раскладке клавиатуры?
^ - это shift+6 в английской раскладке. А в русской раскладке - это двоеточие. Тоже самое и с /

На этой странице в самом низу есть пример и в самом начале интересное примечание:
Код:
; Эмуляция нажатия комбинации клавиш Win + R
; Send("#r")
Send("#к") ; если русский язык по умолчанию при загрузке OS, то вместо "#r" нужно "#к", либо в скрипте временно переключать на англоязычную раскладку.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)