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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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