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

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

1. Kostick - 07 Ноября, 2022 - 12:41:22 - перейти к сообщению
Допустим, я запускаю бота поверх игры, и ухожу спать.
Подскажите, как сделать, чтобы бот проверял, активно ли окно игры, и если нет, то с помощью функции activate активировал его. Не могу вспомнить, как узнать, какое окно сейчас в фокусе.
Когда я запускаю бота поверх окна игры, я через getmouse и getwindow получаю информацию по окну. Но не могу сформулировать команду для if.
Окно не сворачивается, просто поверх него может ночью иногда что-нибудь вылезти.
Имя окна: "Black Desert - 428527"
Класс окна: "BlackDesertWindowClass"
Но это не принципиально, я к тому, что у окна есть и имя, и класс.
Единственное, периодически, после обновления меняется версия, и соответственно и имя окна (меняется число в "Black Desert - 428527"Подмигивание.
Поэтому можно ли как-то проверять именно класс окна, чтобы не менять каждый раз имя, после обновления? Хотя раз я привязываюсь при каждом запуске бота к окну, можно записывать имя окна, тогда пофиг, что оно меняется.
(Добавление)
Разобрался. Создал переменные для второго окна, имя которого я буду получать в данным момент времени. Потом сравнивал их с тем именем, которое я получил при пуске бота, и если они не совпадали то активировал окно игры повторно
2. neba2101 - 08 Ноября, 2022 - 01:11:34 - перейти к сообщению
 Kostick пишет:
Допустим, я запускаю бота поверх игры, и ухожу спать.
Подскажите, как сделать, чтобы бот проверял, активно ли окно игры, и если нет, то с помощью функции activate активировал его. Не могу вспомнить, как узнать, какое окно сейчас в фокусе.
Когда я запускаю бота поверх окна игры, я через getmouse и getwindow получаю информацию по окну. Но не могу сформулировать команду для if.
Окно не сворачивается, просто поверх него может ночью иногда что-нибудь вылезти.
Имя окна: "Black Desert - 428527"
Класс окна: "BlackDesertWindowClass"
Но это не принципиально, я к тому, что у окна есть и имя, и класс.
Единственное, периодически, после обновления меняется версия, и соответственно и имя окна (меняется число в "Black Desert - 428527"Подмигивание.
Поэтому можно ли как-то проверять именно класс окна, чтобы не менять каждый раз имя, после обновления? Хотя раз я привязываюсь при каждом запуске бота к окну, можно записывать имя окна, тогда пофиг, что оно меняется.
(Добавление)
Разобрался. Создал переменные для второго окна, имя которого я буду получать в данным момент времени. Потом сравнивал их с тем именем, которое я получил при пуске бота, и если они не совпадали то активировал окно игры повторно

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

Powered by ExBB FM 1.0 Final