Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

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

> Описание: Переключение и активация окон
Skillem
Отправлено: 29 Марта, 2023 - 20:19:32
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 28
Дата рег-ции: Июнь 2020  
Репутация: 0




Всем приветы!

Подскажите, что то сам не могу понять, и не получается Недовольство, огорчение

Схема такая:

Есть окно игры window ( "Игра" ) прописано в блоке Старт. При запуске скрипт полностью выполняется -> потом я убиваю процесс в скрипте чтоб закрыть окно window ( "Игра" ) -> появляется окно лаунчера window ("Игра", "LauncherWnd", -1)
-> потом мне в лаунчере надо один раз кликнуть мышкой чтоб запустить игру обратно через некоторое время, но он не видит окно и мышка кликает по рабочему столу а не в окне лаунчера -> после запуска игры надо
чтоб скрипт продолжал работать в окне игры window ( "Игра" ). Но если я запускаю игру из лаунчера в ручную, скрипт не работает. Предпологаю что не видит окно игры.

Вопрос: Как мне активировать окно чтоб мышка кликала именно в окне лаунчера window ("Игра", "LauncherWnd", -1), и как сделать чтоб скрипт продолжал работать в окне игры window ( "Игра" ) после перезапуска?

Окно игры и окно лаунчера разные по размерам, всё делаю в Визуальном редакторе.
 
 Top
Ilya001
Отправлено: 29 Марта, 2023 - 20:23:51
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 459
Дата рег-ции: Май 2020  
Репутация: 23




activate(/*нужное окно*/); не подойдет?

Для активации и передаче фокуса перекрытому окну или конкретному контролу существует функция:
activate(wind);
В виде параметра принимает указатель на окно.
 
 Top
Skillem
Отправлено: 29 Марта, 2023 - 21:40:31
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 28
Дата рег-ции: Июнь 2020  
Репутация: 0




 Ilya001 пишет:
activate(/*нужное окно*/); не подойдет?

Для активации и передаче фокуса перекрытому окну или конкретному контролу существует функция:
activate(wind);
В виде параметра принимает указатель на окно.


Неа, не хочет.
Я что то не могу понять что нужно написать в блок-кода перед действиями чтоб именно в нужное окно были эти действия Недовольство, огорчение
 
 Top
Geoteh
Отправлено: 30 Марта, 2023 - 09:48:27
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 59
Дата рег-ции: Авг. 2021  
Репутация: 0




несколько тем ниже я тоже спрашивал о чем то похожем ))) как мне подсказал Zireael и получилось решить.

в блоке старт пишешь указатель на основное окно игры ( именно окно не контрал )
---> выполняешь свой скрипт
---> перед окном где нужно переключится делаем блок кода и там прописываем такую штуку
CODE:
win w = window ("-1, -1, -1); // указатель на другое окно
if(w)
{
activate(w); // активировать окно
}
else messagebox("Окно не найдено");
W_R= window ("-1, -1, -1); // указатель на другое окно


это чтобы его активировать
---> теперь чтоб выполнить действия к примеру щёлкнуть мышкой в координатах в блоке с мышкой в параметре (указатель на окно) стоит W_Kib меняем на W_R и все остальное что должно выполнятся в этом окне меняем на W_R

---> чтоб переключится снова на основной скрипт и продолжать работу делаем снова блок кода и там вставляем
CODE:
activate(W_Kib);
так он продолжает основную работу
 
 Top
Skillem
Отправлено: 30 Марта, 2023 - 22:40:55
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 28
Дата рег-ции: Июнь 2020  
Репутация: 0




 Geoteh пишет:
несколько тем ниже я тоже спрашивал о чем то похожем ))) как мне подсказал Zireael и получилось решить.

в блоке старт пишешь указатель на основное окно игры ( именно окно не контрал )
---> выполняешь свой скрипт
---> перед окном где нужно переключится делаем блок кода и там прописываем такую штуку
CODE:
win w = window ("-1, -1, -1); // указатель на другое окно
if(w)
{
activate(w); // активировать окно
}
else messagebox("Окно не найдено");
W_R= window ("-1, -1, -1); // указатель на другое окно




это чтобы его активировать
---> теперь чтоб выполнить действия к примеру щёлкнуть мышкой в координатах в блоке с мышкой в параметре (указатель на окно) стоит W_Kib меняем на W_R и все остальное что должно выполнятся в этом окне меняем на W_R

---> чтоб переключится снова на основной скрипт и продолжать работу делаем снова блок кода и там вставляем
CODE:
activate(W_Kib);
так он продолжает основную работу



А привязку какую делаешь: По выбору, Активный по указателю?
Я если делаю Активный по указателю он мне автоматически выставляет W_Kib вместо W_R
(Добавление)
CODE:
win w = window ("-1, -1, -1); // указатель на другое окно
if(w)
{
activate(w); // активировать окно
}
else messagebox("Окно не найдено");
W_R= window ("-1, -1, -1); // указатель на другое окно


Этот код сработал, спасибо большое!!


CODE:
activate(W_Kib);


А этот код что то не работает, всё равно кликает по рабочему столу и не активирует окно из блока старт, хотя изначально в нём работает. Недовольство, огорчение
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by