Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » вопрос по sendkey

Страниц (1): [1]
 

1. forzub - 18 Июня, 2014 - 06:16:11 - перейти к сообщению
Добрый день. Возник вопрос: необходимо в окно типа

 Цитата:
winm=window ("Chrome Legacy Window", "Chrome_RenderWidgetHostHWND", window ("MAIDAN.RU - Google Chrome", "Chrome_WidgetWin_1", -1));

отправить e-mail. я создал такую конструкцию:
s1="mymail";
s2="mail.ru";

sendlanguage("00000409", winm);
sendmouse(LEFT,1446, 19,winm);
sendkey(s1,0,winm); sleep(200);

keydown(SHIFT);
key("2");
keyup(SHIFT);

sendkey(s2,0,winm);
pause(500);

и как-то эта конструкция работает очень не устойчиво, а иногда и вообще не работает.
как можно отправить знак "@" средствами sendkey?
sendtext при этом отправляет текст в заголовок окна.
2. Kibor - 18 Июня, 2014 - 06:26:50 - перейти к сообщению
 forzub пишет:
как можно отправить знак "@" средствами sendkey?

Никак.

CODE:
win winm=window (-1, "Edit", window ("Безымянный — Блокнот", "Notepad", -1));

string s1="mymail";
string s2="mail.ru";

key(s1,1, 1, winm);

keydown(SHIFT);
key('2');
keyup(SHIFT);

key(s2);
3. forzub - 18 Июня, 2014 - 06:47:22 - перейти к сообщению
спасибо.
заработало в варианте когда

CODE:

key('2',1,1,winm);


а почему не работает в варианте

CODE:

key('2',0,1,winm);

?
по идее должно отсылать в окно не активируя его?
4. HACMOPK - 18 Июня, 2014 - 07:10:27 - перейти к сообщению
CODE:
win w=window (-1, "Edit", window ("Безымянный — Блокнот", "Notepad", -1));
sendtext("ТЕСТ@mail.ru", w);

Kibor пишет:
Плюс в том что не зависит от расскладки. Текст будет на том языке на котором написан.
Недостаток или плюс (зависит от ситуации)- заменяется полностью весь текст на вводимый
Эта функция может не только вводить текст в поля ввода, но и менять названия кнопок, имена окон и т.д.
(Добавление)
 forzub пишет:
спасибо.
заработало в варианте когда

CODE:

key('2',1,1,winm);


а почему не работает в варианте

CODE:

key('2',0,1,winm);

?
по идее должно отсылать в окно не активируя его?


Key нажимает и отпускает клавишу. Нажатие происходит в активном окне.
не активируя окно key('2',0,1,winm); подразумевается что оно сейчас активно.
5. forzub - 18 Июня, 2014 - 07:25:29 - перейти к сообщению
ох уж мне это "подразумевает"... Радость
6. Kibor - 18 Июня, 2014 - 08:44:03 - перейти к сообщению
 forzub пишет:
ох уж мне это "подразумевает"


С хелпа цитата
 Цитата:
key('a', 1, 1, win wind) - принимает 4 параметра.
key("Ввести русский и English текст переключая раскладку клавиатуры", 1, 1, win wind)
1 - символ или строка.
2 - если окно не активно, этот параметр со значением 1 активирует нужное окно или контрол передавая ему фокус, если 0 - не активирует.
3 - при 1 проверить соответствие раскладки языка в данном окне с языком вводимого символа и при необходимости переключить язык на нужный. Проверяется по отдельности перед вводом каждого символа. Строка может состоять из русских и английских букв вперемешку. Если 0 проверка и переключение не производится.
4 - указатель на окно или контрол. Если этот параметр 0 - в активном окне нажимается.

(для просмотра ссылки Вам необходимо авторизоваться)

Powered by ExBB FM 1.0 Final