цикл нажатия клавиши с ожиданием освобождения других процессов

Помощь в написании скриптов
Nuby
Posts: 3
Joined: 18 Jan 2021, 09:54

цикл нажатия клавиши с ожиданием освобождения других процессов

Post by Nuby » 18 Jan 2021, 10:07

Помогите, пожалуйста со скриптом нажатия клавиши Х, которая нажимается раз в Y секунд, но при этом если в момент срабатывания таймера производится любое иное нажатие или клик, то процесс ждет Z ms и потом старается повторить нажатие.

ps было бы чудесно еще привязать работу к определенному окну приложения и останавливать/возобновлть работу скрипта при преключении окон.

mcl
Posts: 86
Joined: 04 May 2018, 16:35

Re: цикл нажатия клавиши с ожиданием освобождения других процессов

Post by mcl » 18 Jan 2021, 15:56

Code: Select all

F3::
XTicker() {
	delayBetweenX := 5000  ; 5 seconds
	delayAfterKey := 1000  ; 1 second
	keysToPress   := "Date: {F5}{Enter}"
	keyToExitLoop := "F3"
	trackWindow   := "ahk_exe notepad.exe"
	
	keyhook := InputHook("V")
	keyhook.KeyOpt("{All}", "E")
	keyhook.Start()
	
	Loop {
		If (Not WinActive(trackWindow)) {
			WinWaitActive % trackWindow
		}
		
		If (keyhook.InProgress) {
			Send % keysToPress
			Sleep % delayBetweenX
			Continue
		}
		
		If (keyhook.EndKey == keyToExitLoop) {
			TrayTip,, XTicker disabled
			Break
		}
		
		keyHook.Start()
		Sleep % delayAfterKey
	}
}

Nuby
Posts: 3
Joined: 18 Jan 2021, 09:54

Re: цикл нажатия клавиши с ожиданием освобождения других процессов

Post by Nuby » 19 Jan 2021, 02:03

Большое спасибо! Сейчас буду разбираться )

Nuby
Posts: 3
Joined: 18 Jan 2021, 09:54

Re: цикл нажатия клавиши с ожиданием освобождения других процессов

Post by Nuby » 19 Jan 2021, 13:29

Скажите, а что означает строка

Code: Select all

keysToPress   := "Date: {F5}{Enter}"
в части "Date: {F5} ?

mcl
Posts: 86
Joined: 04 May 2018, 16:35

Re: цикл нажатия клавиши с ожиданием освобождения других процессов

Post by mcl » 20 Jan 2021, 17:18

Nuby wrote:клавиши Х
X = Date: {F5}{Enter}
keystopress.png
keystopress.png (6.06 KiB) Viewed 61 times

Post Reply

Return to “Помощь”