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

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

1. KeSeG - 21 Сентября, 2018 - 08:30:44 - перейти к сообщению
Суть проблемы такова. Есть несколько одинаковых эмуляторов андроида. Как организовать работы сразу в нескольких? Получается у них в win идет отличие только в названии, остальное все тоже самое. Если win указываю без имени, то он работает с каким то одним (я так и не понял с каким именно и почему именно с ним).
(Добавление)
Вопрос по Кибору прошу перенести тему сюда:(для просмотра ссылки Вам необходимо авторизоваться)
2. Dantes3000 - 21 Сентября, 2018 - 10:00:05 - перейти к сообщению
используй привязку к контролу вот такую.

CODE:
win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;

start_();

function start_()
{
pause(1000);
int x, y;
getmouse(x, y);
w_KIB=getwindow(1, x, y);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
}
3. KeSeG - 21 Сентября, 2018 - 12:10:21 - перейти к сообщению
Подскажи пожалуйста, что она в себе несет. Я слаб в программировании и не понимаю что мы тут делаем. в плане логики.

CODE:

win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;

start_();//Вызываем функцию

function start_()
{
pause(1000);//Ждем 1 секунду, я так понимаю, что бы скрылось окно Кибора
int x, y;
getmouse(x, y);//Получаем координаты мыши
w_KIB=getwindow(1, x, y);//Присваиваем переменой w_KIB win окна что под мышой.
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient; //Присваиваем ширину и высоту этого окна в переменные.
}


Я правильно понял этот код? Если да, то что мне это даст? Растерялся

Возможно я не до конца объяснил проблему. Мне нужно что бы бот, работал в контролах допустим 6ти одинаковых окон. Например кликал по найденной картинки в них. Тоесть не на экране искал а именно в самих контролах.

А как я понимаю, w_KIB это win одного окна который под мышкой, и к другому окну он не будет обращаться. Я не прав?
4. Dantes3000 - 21 Сентября, 2018 - 12:26:24 - перейти к сообщению
KeSeG , функция start_() привязывает окно под курсором мыши к переменной w_KIB, можно заменить на любую другую. И не важны названия, класс, размер, расположение...getwindow привязывается ко всему что есть и хендл(айди) получается уникальным.
5. Kibor - 21 Сентября, 2018 - 13:09:49 - перейти к сообщению
KeSeG ,
При выполнение этого кода, будет получен указатель на окно которое в момент запуска находилось под мышью.
То есть для того что бы привязать окно надо перед запуском передвинуть кибор так, что бы пуск кнопка была над окном к которому будем привязывать.
6. KeSeG - 21 Сентября, 2018 - 13:10:30 - перейти к сообщению
 Dantes3000 пишет:
функция start_() привязывает окно под курсором мыши к переменной w_KIB

Это понял.

 Dantes3000 пишет:
можно заменить на любую другую

Я очень наверное туплю, но про что тут идет речь?


 Dantes3000 пишет:
И не важны названия, класс, размер, расположение...getwindow привязывается ко всему что есть и хендл(айди) получается уникальным.

Вообще ничего не понял. наверное ну очень тупой.


Давай попробуем на примере.

Допустим у меня есть 2 блокнота.(для просмотра ссылки Вам необходимо авторизоваться)
Передо мной стоит задача, найти (поиском картинки) букву Ё и кликнуть в нее.
Искать нужно в самом окне а не на экране, так как блокнот может быть перекрыт.
Если я буду использовать функцию старт, над одним из блокнотов, он же привяжет w_KIB к тому блокноту над которым будет запущен скрипт? Или нет?

и когда я буду использовать
findimage(-1, #image[0][0], fon_color, #x[0], #y[0], x_start, y_start, x_finish, y_finish, w_KIB) найдет изображение только в том, к которому привязан, а нужно, что бы нашел 2х, поочередно, или одновременно.

p.s. Я могу не понимать логики, да и синтаксиса, но явно понимаю, что где то у меня проблема понимания тебя(
7. Kibor - 21 Сентября, 2018 - 14:24:36 - перейти к сообщению
CODE:
win w1, w2;
int x, y;

textout(0, 20, 20, "наведите мышь на окно 1 и нажмите Ё.", 0);
while (getkeystate(192)==0) sleep(10);
getmouse(x, y);
w1=getwindow(1, x, y);
while (getkeystate(192)==1) sleep(10);

textout(0, 20, 20, "наведите мышь на окно 2 и нажмите Ё.", 0);
while (getkeystate(192)==0) sleep(10);
getmouse(x, y);
w2=getwindow(1, x, y);
while (getkeystate(192)==1) sleep(10);

(Добавление)
8. KeSeG - 21 Сентября, 2018 - 14:32:29 - перейти к сообщению
Kibor, если окон допустим 10 то алгоритм работы такой же? т.е. указываем каждое по отдельности?
9. Kibor - 21 Сентября, 2018 - 14:34:38 - перейти к сообщению
 KeSeG пишет:
Суть проблемы такова. Есть несколько одинаковых эмуляторов андроида. Как организовать работы сразу в нескольких?

А вот конкретно в чем суть??
В работе одного скрипта в 10 окнах?
Или привязать каждого отдельного бота к окну своему ??
10. KeSeG - 21 Сентября, 2018 - 14:43:17 - перейти к сообщению
Я хотел Один бот на 10 окнах. Или это не рационально и лучше на каждое окно своего бота?

Powered by ExBB FM 1.0 Final