Изначально хотел сделать своего бота с возможностью вода команд и выделением нужных окон и главное с возможностью работать с неактивными окнами, но к печали у меня не получается даже самое элементарное. Главная проблема в том, что скрип не хочет использовать sleep для каждой кнопки и нажимает всё в месте.
Вот мой код:
int q=0;
s: if (q<130){
q++; sleep(100);
sendkey(F1, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1)
sleep (3000);
sendkey(F2, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1)
sleep (5000);
sendkey(F3, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1)
sleep (5000);
sendkey(F4, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1)
sleep (6000);
sendkey(F5, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1)
sleep (3000);
sendkey(F6, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1)
sleep (20000);
sendkey(F7, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1)
sleep (3000);
sendkey(F8, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1)
sleep (4000);
sendkey(F9, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1)
sleep (90000);
sendkey(F10, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1)
sleep (300000);
sendkey(F11, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1)
sleep (1000);
goto s;}
Было бы клево если бы такая штука как настройка времени для клавиш была в "AvtoK" но эт уже другая история, помогите хотя бы с этим.
1. Raneli - 21 Мая, 2014 - 15:08:53 - перейти к сообщению
2. HACMOPK - 22 Мая, 2014 - 06:24:35 - перейти к сообщению
CODE:
int q=0;
s:
q++;
sleep(100);
sendkey('1', window (-1, "Edit", window ("5tr.txt - Блокнот", "Notepad", -1))
pause (550);
if (q<20)
goto s;
int q=0;
s:
q++;
sleep(100);
sendkey('1', window (-1, "Edit", window ("5tr.txt - Блокнот", "Notepad", -1))
pause (550);
if (q<20)
goto s;
Рекомендуется использовать sleep если задержка менее <500мс если более то pause
3. myxomop - 23 Мая, 2014 - 02:18:49 - перейти к сообщению
Боюсь, что вы просто забыли скобочки и точки с запятыми...
int q=0;
s: if (q<130){
q++; sleep(100);
sendkey(F1, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (3000);
sendkey(F2, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (5000);
sendkey(F3, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (5000);
sendkey(F4, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (6000);
sendkey(F5, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (3000);
sendkey(F6, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (20000);
sendkey(F7, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (3000);
sendkey(F8, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (4000);
sendkey(F9, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (90000);
sendkey(F10, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (300000);
sendkey(F11, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (1000);
goto s;}
Так же, Вы уверены, что правильно берёте окно, куда отправляете команды?
Ну и последнее: передача команд в неактивное окно - вещь нестабильное, вполне возможно, что линейка их блочит.
(Добавление)
Попробуйте.
Запустив код, наведите мышь на окно линейки и жмакните "ё".
int q=0;
s: if (q<130){
q++; sleep(100);
sendkey(F1, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (3000);
sendkey(F2, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (5000);
sendkey(F3, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (5000);
sendkey(F4, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (6000);
sendkey(F5, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (3000);
sendkey(F6, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (20000);
sendkey(F7, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (3000);
sendkey(F8, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (4000);
sendkey(F9, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (90000);
sendkey(F10, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (300000);
sendkey(F11, window ("Lineage II ", "l2UnrealWWindowsViewportWindow", -1));
sleep (1000);
goto s;}
Так же, Вы уверены, что правильно берёте окно, куда отправляете команды?
Ну и последнее: передача команд в неактивное окно - вещь нестабильное, вполне возможно, что линейка их блочит.
(Добавление)
Попробуйте.
Запустив код, наведите мышь на окно линейки и жмакните "ё".
CODE:
int q=0;
int Xv, Yv;
string str1, str2, str3;
str1="Нажмите ДА. Наведите мышь на ";
str2="окно Линейки";
str3=" и нажмите Ё. Для отмены нажмите НЕТ.";
if (messageboxyn(str1+str2+str3)==-1)goto end;
f: if (getkeystate(192)!=1){sleep(50); goto f;}
getmouse(Xv, Yv);
win lin=getwindow(1, Xv, Yv);
activate(lin);
sleep(200);
s: if (q<130)
{
q++;
sleep(100);
sendkey(F1, lin);
sleep (3000);
sendkey(F2, lin);
sleep (5000);
sendkey(F3, lin);
sleep (5000);
sendkey(F4, lin);
sleep (6000);
sendkey(F5, lin);
sleep (3000);
sendkey(F6, lin);
sleep (20000);
sendkey(F7, lin);
sleep (3000);
sendkey(F8, lin);
sleep (4000);
sendkey(F9, lin);
sleep (90000);
sendkey(F10, lin);
sleep (300000);
sendkey(F11, lin);
sleep (1000);
goto s;
}
end:;
int Xv, Yv;
string str1, str2, str3;
str1="Нажмите ДА. Наведите мышь на ";
str2="окно Линейки";
str3=" и нажмите Ё. Для отмены нажмите НЕТ.";
if (messageboxyn(str1+str2+str3)==-1)goto end;
f: if (getkeystate(192)!=1){sleep(50); goto f;}
getmouse(Xv, Yv);
win lin=getwindow(1, Xv, Yv);
activate(lin);
sleep(200);
s: if (q<130)
{
q++;
sleep(100);
sendkey(F1, lin);
sleep (3000);
sendkey(F2, lin);
sleep (5000);
sendkey(F3, lin);
sleep (5000);
sendkey(F4, lin);
sleep (6000);
sendkey(F5, lin);
sleep (3000);
sendkey(F6, lin);
sleep (20000);
sendkey(F7, lin);
sleep (3000);
sendkey(F8, lin);
sleep (4000);
sendkey(F9, lin);
sleep (90000);
sendkey(F10, lin);
sleep (300000);
sendkey(F11, lin);
sleep (1000);
goto s;
}
end:;
4. Raneli - 23 Мая, 2014 - 08:49:58 - перейти к сообщению
Ух ты спасибо всем за ответы, мир не без добрых людей)) Личная благодарность тебе "myxomop".
5. Lomag - 03 Августа, 2016 - 09:08:23 - перейти к сообщению
Приветствую , хотел сделать пере-направление определённых клавиш в другое окно...
к примеру при нажатии на доп. цифровой клавиатуре 1 - в неативное окно отправляло нажатие F1 и т.д. , к сожалению в визуальном редакторе кибора такое не сотворить, а ручками написать моих скудных познаний не хватает. может кто подсказать/помочь
к примеру при нажатии на доп. цифровой клавиатуре 1 - в неативное окно отправляло нажатие F1 и т.д. , к сожалению в визуальном редакторе кибора такое не сотворить, а ручками написать моих скудных познаний не хватает. может кто подсказать/помочь