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

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

1. Geoteh - 12 Марта, 2023 - 10:03:33 - перейти к сообщению
как правильно переключатся между окнами? бот выполняет свои действия в эмуляторе с таким указателем "window (-1, "Qt5QWindowIcon", -1, -1, 1001, 573, -1)" потом нужно переключится на другую программу чтоб например отключить интернет к примеру "window (-1, "CabinetWClass", -1)" с таким указателем и потом вернутся обратно в эмулятор, понимаю что в визуальном редакторе в блоке кода нужно изменять указатель окна но кибор выдает ошибку и закрывается
2. Zireael - 12 Марта, 2023 - 10:11:32 - перейти к сообщению
 Цитата:
кибор выдает ошибку и закрывается

Значит код с ошибками написан.
 Цитата:
нужно переключится на другую программу

В блоке кода:
CODE:
win w = window (-1, "CabinetWClass", -1);
if(w)
{
activate(w); // активировать окно
messagebox("Нужные действия");
}
else messagebox("Окно не найдено");
3. Geoteh - 12 Марта, 2023 - 10:46:56 - перейти к сообщению
 Zireael пишет:
В блоке кода:
CODE:
win w = window (-1, "CabinetWClass", -1);
if(w)
{
activate(w); // активировать окно
messagebox("Нужные действия");
}
else messagebox("Окно не найдено");


чуть по другому сделал ))

win w = window ("simplewall", "#32770", -1);
if(w)
{
activate(w); // активировать окно
}
else messagebox("Окно не найдено");
W_R=window ("simplewall", "#32770", -1);

спасибо ))
4. GreatProgram - 02 Апреля, 2023 - 21:29:34 - перейти к сообщению
Что если окно с которого производился запуск бота должно закрыться(приложение А) и после этого переключиться на другое окно (приложение Б)... затем снова переключиться на то окно с которого все началось (приложение А) — будет запущенно из приложения Б

Возникает другой вопрос, а как тогда поступать с привязками? Можно ли в окне старт K_Kib
присвоить переменную, которая бы в теле программы меняла свое значение?
как то так:

Start
K_Kib=w;

CODE:
win w= window ("application A");
if(w)
{
activate(w); // активировать окно A
messagebox("Нужные действия");
}

...Какие либо действие...

win w= window ("application B");
if(w)
{
activate(w); // активировать окно B
messagebox("Нужные действия");


а что если при запуске бота Приложение А не запущенно?
Подскажите пожалуйста...
5. GreatProgram - 03 Апреля, 2023 - 06:04:45 - перейти к сообщению
Вроде как разобрался, если кому то интересно (Отобразить)
6. GreatProgram - 08 Апреля, 2023 - 00:59:39 - перейти к сообщению
Эх проблема как выяснилось, указатель на окно вроде как работает и активирует, но вот findimage в обще ни в какую... Подскажите в чем дело, перепробовал различные комбинации активации окна и привязок, не помогает...

Хотел бы прояснить для себя можно ли объявлять переменные с типом win указывающие а какое либо окно в блоке старт.
К примеру вот так:Блок старт

или w1 нужно объявлять именно в том месте где необходимо переключиться на нужное окно... хотя работает и так и так...
Но опять же вернусь к findimage - как только доходит дело до этого блока - ступор блок findimage
Так же менял и тут: Привязка виз.редактор

Выбивает с ошибкой "Переменная уже существует (или используется)", с другой ошибкой.
Либо запускается но картинку не ищет от слова совсем...

В чем может быть дело? (работаю в визуальном редакторе)

Файлы проекта и краткое описание
7. Geoteh - 08 Апреля, 2023 - 04:20:18 - перейти к сообщению
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]

я делал таким способом
8. Kibor - 08 Апреля, 2023 - 04:26:26 - перейти к сообщению
В функции не надо объявлять уже
win w1= window ("CCleaner - ТОЛЬКО ДЛЯ ДОМАШНЕГО ИСПОЛЬЗОВАНИЯ");
надо так
w1= window ("CCleaner - ТОЛЬКО ДЛЯ ДОМАШНЕГО ИСПОЛЬЗОВАНИЯ");
9. Geoteh - 08 Апреля, 2023 - 04:29:48 - перейти к сообщению
у меня остался другой вопрос теперь ))) возможно ли делать в фоновом режиме ??? чтобы бот выполняя свою работу с двумя окнами их можно было перекрыть ( к примеру кино смотреть Радость )
10. GreatProgram - 08 Апреля, 2023 - 05:30:28 - перейти к сообщению
 Geoteh пишет:
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]

я делал таким способом


Да это интересно... так как я смотрел до этого две темы с Вашим участием, но так и не понял почему две переменные w и W_R имеют в значении одно и тоже окно.
В чем смысл? Или это для того что бы просто избежать ошибки "Повторение имени переменной"?

Да и сам код не совсем ясен почему при true\false переходе ведут на одно и тоже окно? (хотя это уже другое дело - авторское)

Правильно я понимаю, что у Вас W_Kib - это главное окно, с которого где то в коде переключатся на w и W_R (которые ведут на одно и тоже окно) и обратно на главное окно W_Kib?


 Kibor пишет:
В функции не надо объявлять уже
win w1= window ("CCleaner - ТОЛЬКО ДЛЯ ДОМАШНЕГО ИСПОЛЬЗОВАНИЯ" );
надо так
w1= window ("CCleaner - ТОЛЬКО ДЛЯ ДОМАШНЕГО ИСПОЛЬЗОВАНИЯ" );


Понял о функции, но остался вопрос: а надо ли в блоке старт? И если надо то так? Или только в функции?

Powered by ExBB FM 1.0 Final