MedAleks |
Отправлено: 21 Февраля, 2014 - 18:21:15
|
Прохожий
Покинул форум
Сообщений всего: 4
Дата рег-ции: Февр. 2014
Репутация: 0
|
Здравствуйте! Хочу вам сообщить о замеченной некорректной работы функции key.
Я делаю автокликер, который на одном из этапов своей работы должен заполнить поля логин, пароль на сайте mail.ru. За это отвечает следующий участок кода:
CODE:
a:
sleep(50);
if(findimage(1, #@mail.ru[0][0], -1, #x[0], #y[0], 0, 0, mail_wind.widthclient, mail_wind.heightclient, mail_wind)==1)
{
mouse(LEFT, x[0]-30, y[0]+10, 1, mail_wind);
mousemove(200, 200, mail_wind);
key(login, 1, 1, mail_wind);
//key(login);
key(TAB);
key(password, 1, 1, mail_wind);
}
else goto a;
messagebox(login);
goto end;
При этом в качестве примера у меня в переменной login записано значение "proba@mail.ru" , а в password - "proba".
Как видно из скриншота, в messagebox почта вывелась нормально, с "@" посередине, а в форму при помощи функции key почта вывелась с заменённой "@" на "2".
Если применить "key(login);" вместо "key(login, 1, 1, mail_wind);", то результат будет тот же самый.
Можно ли это как-то исправить? |
|
|
MedAleks |
Отправлено: 21 Февраля, 2014 - 19:43:23
|
Прохожий
Покинул форум
Сообщений всего: 4
Дата рег-ции: Февр. 2014
Репутация: 0
|
Andrew пишет: MedAleks , ну во первых тут нет отчета об ошибка, да.
Во вторых Вы плохо читали форум, у меня в начале моего обучения тоже возникла такая проблема. Разве есть клавиша @? Вы когда печатаете Вы нажимаете на клавишу с одной "@"? Тут надо представить этот символ как:
CODE:Зажать (ШИФТ);
Нажать (2);
Отпустить (ШИФТ);
Я думаю только так, что либо получится
Так вот оно что.. Сам я так и не смог додуматься, почему же печатается именно "2". Спасибо. Жалко, конечно, что такие вещи не обрабатываются автоматически, тогда я ещё хотел бы уточнить, в Kibor нету таких функций работы со строками, как поиск индекса символа в строке, копирование из одной строки в другую до символа с определённым индексом?.. Ну, в общем таких, которые позволяют вычленить "@" из всей строки и всё остальное?
P.S. Я, если честно, сначала думал, что это ошибка.. И весь форум перечитывать времени не было, но найти с помощью поиска каких-то комбинаций слов с "@" я так и не смог.. |
|
|
MedAleks |
Отправлено: 21 Февраля, 2014 - 19:57:06
|
Прохожий
Покинул форум
Сообщений всего: 4
Дата рег-ции: Февр. 2014
Репутация: 0
|
Andrew пишет: Что вам мешает сделать картинку символа и искать эту картинку?
Мне это нужно не для поиска "@"...
У меня в EDIT_0 и EDIT_1 в киборе записываются логин (proba@mail.ru) и пароль, затем автокликер сам записывает эти значения в соответствующие поля на форме авторизации Mail.ru. Это было бы поправимо с помощью использования комбобокса с заранее забитыми в него @mail.ru, @bk.ru и т.д., но я делаю такой автокликер, который должен работать ещё и с другими почтовыми ящиками, не только Mail.ru. А слишком большое нагромождение разных значений в комбобоксе повлияет на удобство в моём случае... А тут для меня важна скорость и простота работы с автокликером.
Kibor пишет: Изучите внимательно этот пост http://kibor-bot.com/forum/topic...90452#1385690452
Такие функции являются пользовательскими и легко пишутся.
Спасибо! Буду пробовать.(Отредактировано автором: 21 Февраля, 2014 - 19:58:54) |
|
|
MedAleks |
Отправлено: 21 Февраля, 2014 - 20:33:05
|
Прохожий
Покинул форум
Сообщений всего: 4
Дата рег-ции: Февр. 2014
Репутация: 0
|
Andrew, да ничего страшного
(Добавление)
Решил проблему путём предварительной вставки нужного мне текста в буфер обмена, а затем уже вставки его на форме с помощью CTRL + V:
CODE:a:
sleep(50);
if(findimage(1, #@mail.ru[0][0], -1, #x[0], #y[0], 0, 0, mail_wind.widthclient, mail_wind.heightclient, mail_wind)==1)
{
mouse(LEFT, x[0]-30, y[0]+10, 1, mail_wind);
mousemove(200, 200, mail_wind);
sendlanguage("00000409", 0);
writeclipboard(login);
keydown(CONTROL);
key("v");
keyup(CONTROL);
key(TAB);
writeclipboard(password);
keydown(CONTROL);
key("v");
keyup(CONTROL);
}
else goto a;
messagebox(login);
goto end;
Таким образом я также получил существенный прирост в скорости заполнения формы |
|
|
|