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