Тема: AHK: Остановка цикла разными клавишами
Здравствуйте, есть цикл нужно что бы он останавливался не только кнопкой "вниз" но и еще клавашами 1,2,3!
Как это сделать?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здравствуйте, есть цикл нужно что бы он останавливался не только кнопкой "вниз" но и еще клавашами 1,2,3!
Как это сделать?
vk28::
vk28 := !vk28
SetTimer, Loop, -1
return
loop:
While vk28
{
SendInput {sc22 down}
sleep 260
SendInput {sc22 up}
sleep 10
SendInput {sc23 down}
sleep 140
SendInput {sc23 up}
}
Return
И необходимо что бы при нажатиях клавишь 1,2,3 не только останавливался но и выполнял их однократное нажатие.
afik08, ознакомьтесь с этой темой, отредактируйте заголовок и все свои посты.
afik08, читайте указанную тему внимательнее.
И снова Здравствуйте уважаемые разработчики ,специально не стал создавать тему " двойник " помогите пожалуйста здесь ,я думаю автору это в дальнейшем поможет правильно оформлять темы .
имеем скрипт :
SetKeyDelay 5,5
~Numpad3::
send {RButton}
Send, ^{vk31} ;Ctrl+1
send {LButton}
loop 5
{
Send, ^{vk32} ;Ctrl+2
Sleep 3500
send {LButton}
Send, ^{vk33} ;Ctrl+3
Sleep 2500
send {LButton}
}
Хотелось бы ,чтобы при однократном нажатии на любую из клавиш w,s,a или d осуществлялся (желательно мгновенный) выход из цикла loop ,причем на любой стадии его выполнения , я долго пытался воспользоваться a_thishotkey и GetKeyState ,но у меня ничего не получилось даже для одной кнопки .
1::
2::
3::
4::Break := 1
5::
Break := 0
loop 5
{
If Break
Break
Send, ^{vk32} ;Ctrl+2
If Break
Break
Sleep 3500
If Break
Break
send {LButton}
If Break
Break
Send, ^{vk33} ;Ctrl+3
Sleep 2500
If Break
Break
send {LButton}
}
Спасибо за наводку, попробую по вашему, но пока шел трудный рабочий день ) решил задачу чуть по другому :
SetKeyDelay 5,5
~Numpad3::
send {RButton}
Send, ^{vk31} ;Ctrl+1
send {LButton}
loop 5
{
if (GetKeyState("vk57", "P") || GetKeyState("vk53", "P") || GetKeyState("vk41", "P") || GetKeyState("vk44", "P")) ; wasd
break
Send, ^{vk32} ;Ctrl+2
Sleep 3100
send {LButton}
Send, ^{vk33} ;Ctrl+3
Sleep 2600
send {LButton}
}
выход из цикла loop ,причем на любой стадии его выполнения
...
решил задачу чуть по другому :
Тут не выполняется.
Да и вариант с переменной более "гуманный" наверное, чем многократный вызов GetKeyState.
Согласен с вами, огромное спасибо еще раз .
mendisabal
Предложения начинаются с большой буквы, пробел после знака препинания.
mendisabal
Предложения начинаются с большой буквы, пробел после знака препинания.
Если уж выражаться совсем-совсем грамотно, то следует уточнить, что с прописной буквы пишется первое слово текста, а также первое слово после точки, многоточия, вопросительного и восклицательного знаков, заканчивающих предложение (хотя есть довольно объемные дополнения для этого общего правила). ![]()
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться