2

Например, когда я нажимаю # 1, он посылает hey

#1::
send hey

Когда я снова нажимаю #1 течение 900 миллисекунд, я хочу, чтобы он послал hi и так далее.

Поэтому я хочу связать несколько команд нажатием одной и той же кнопки в течение заданного промежутка времени.

2 ответа2

1

Чтобы объединить нажатия N key presses per X milliseconds вы можете использовать следующую структуру:

key::
    x = ;milliseconds

    if n > 0
    {
        n += 1
        return
    }

    n = 1
    SetTimer, Chain, %x%
    return

    Chain:
        SetTimer, Chain, off

        if n = 1
        {
            ;if key was pressed 1x
        }
        else if n = 2
        {
            ;if key was pressed 2x
        }
        else if n > 2
        {
            ;if key was pressed 3x or more
        }

    n = 0
    return

Итак, основываясь на вашем примере, мы имеем:

#1::
    x = 900

    if n > 0
    {
        n += 1
        return
    }

    n = 1
    SetTimer, Chain, %x%
    return

    Chain:
        SetTimer, Chain, off

        if n = 1
        {
            Send, hey
        }
        else if n = 2
        {
            Send, hi
        }

    n = 0
    return
0

Просто, просто используйте команду Sleep и передайте ей миллисекунды.

#1::
Send hey
Sleep, 900 ; 1 second
Send hi
return

В последнем предложении используйте глобальную переменную и выражение if. Таким образом, вместо "Отправить эй" у вас будет, если вы выбираете, какую строку вы отправляете. Затем вы устанавливаете глобальную переменную в 1, после чего вы спите, после сна вы устанавливаете ее обратно в 0 ...

Смотрите также: If, Горячие клавиши, Sleep и Variables

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .