Auto Hot Key

Может кто подсказать почему кнопки нажимаются по очереди, а не в своем интервале? И как  это можно исправить?

$+6::

IfWinActive,

if (enable := !enable)

setTimer, routine, -1

return

routine:

while enable

{

Random, r, 5538, 6000

sleep r

sendInput 1


Random, r, 5615, 6000

sleep r

sendInput 2


Random, r, 3138, 3500

sleep r

sendInput 3


Random, r, 4362, 4800

sleep r

sendInput 4


Random, r, 3812, 4200

sleep r

sendInput 5

}

return

0
Автор поста оценил этот комментарий

Проблему решил. Спасибо, интересная была задача

раскрыть ветку (1)
Автор поста оценил этот комментарий

Рад за вас, не поделитесь результатом?

0
Автор поста оценил этот комментарий

Аутохоткей - однопоточный и когда ты ставишт sleep, на паузу ставится весь скрипт. То есть вся эта конструкция будет работать так, что кнопки и должны нажиматься подряд, с рандомным интервалом. Тут нужно рандомить число от одного до 5 и вызывать нажатие в зависимости от этого числа.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Благодарю вас за разъяснение буду делать так

показать ответы
0
Автор поста оценил этот комментарий

Потому что прежде чем будет 2, нужно что бы прошло время sleep для 1. Программа выполняется последовательно

раскрыть ветку (1)
Автор поста оценил этот комментарий

А как сделать чтобы был о не последовательно? есть ли такая возможность?

показать ответы
0
Автор поста оценил этот комментарий

1 2 3 4 5 (повторять пока enable)

если оно не многопоточное

раскрыть ветку (1)
Автор поста оценил этот комментарий

Поясню как я это вижу, мне нужно что-бы каждая кнопка прожималась через несколько рандомных миллисекунд независимо от того были ли нажаты остальные. Сейчас я решил сделать 1 макрос который будет прожимать эти кнопки, поскольку раньше у меня было 5 AHK макросов которые мне уже немножко поднадоело включать поочередно. Но сейчас у меня вышло не совсем то что я хотел поскольку оно прожимается последовательно.

показать ответы