Нажатие в конкретном окне
-
- Posts: 3
- Joined: 24 Sep 2023, 02:10
Нажатие в конкретном окне
Помогите пожалуйста, нужно чтобы две кнопки, ну к примеру W и R, нажимались с переодичностью в 20 секунд, только в определенном окне. Нажатие-то я и на мышке могу сделать, а вот чтобы только в 1 окне(
-
- Posts: 3
- Joined: 24 Sep 2023, 02:10
Re: Нажатие в конкретном окне
Code: Select all
#IfWinActive, UNDECEMBER ;
SetTimer, PressButtons, 5000 ;
PressButtons:
SendInput, {w}
Sleep, 100
SendInput, {q}
return
не работает, вроде запускается, и сразу закрывается, не висит в трее, в чем дело?
-
- Posts: 3
- Joined: 24 Sep 2023, 02:10
Re: Нажатие в конкретном окне
Code: Select all
SetTitleMatchMode, 2 ; Установка режима сопоставления заголовков окон
; Функция для нажатия кнопок
ClickButtons()
{
; Проверяем, существует ли окно с указанным заголовком
IfWinExist, UNDECEMBER
{
; Активируем окно
WinActivate, UNDECEMBER
; Ожидаем, пока окно станет активным
WinWaitActive, UNDECEMBER
; Нажимаем кнопку "q"
Send, q
; Ожидаем 5 секунд
Sleep, 5000
; Нажимаем кнопку "w"
Send, w
; Перезапускаем функцию через 10 секунд
SetTimer, ClickButtons, 10000
}
}
; Создаем контекстное меню для трея
Menu, Tray, Add, Выход, ExitApp
; Запускаем функцию нажатия кнопок
ClickButtons()
; Отображаем скрипт в трее
Menu, Tray, Tip, Скрипт активен
Menu, Tray, Icon, Shell32.dll, 45
; Обработчик выхода из скрипта через контекстное меню трея
ExitApp:
ExitApp
запускается, висит в трее, но кнопки в игре не нажимаются( потом закрывается
Re: Нажатие в конкретном окне
Дебажьте отдельные части, иначе непонятно, где именно скрипт ломается:Birdeatsbaby wrote: ↑ запускается, висит в трее, но кнопки в игре не нажимаются( потом закрывается
- IfWinExist срабатывает? А через ahk_class / ahk_exe?
- WinActivate срабатывает? (WinWaitActive после него необязателен, уверяет нас документация).
- Клавиши через Send нажимаются? Одиночные нажатия могут оказаться слишком короткими и не регистрироваться. Попробуйте ещё так:
Code: Select all
; 1. Долгое нажатие Send {q Down} Sleep 50 Send {q Up} ; 2. Другой режим нажатия SetKeyDelay, 10, 50 SendEvent q ; 3. Нажатия через ControlSend ControlSend, ahk_parent, q, A
- SetTimer создаёт новый таймер. Через пять минут у вас будет 30 таймеров, и все они будут ломиться нажимать кнопки. Используйте отрицательное число, тогда таймер сработает один раз и отключится:
Code: Select all
SetTimer, ClickButtons, -10000
Who is online
Users browsing this forum: No registered users and 8 guests