1 (изменено: sergeant.coolagin, 2011-03-13 05:45:38)

Тема: AHK: Приостановка выполнения части скрипта.

#InstallKeybdHook
#InstallMouseHook
Process, Priority, , realtime
setmousedelay, -1

*Delete::

GetKeyState("xbutton1", "P")
if state = D
KeyWait up, ("xbutton1", "P")
LOOP
{
sleep, 4900
send {end down}
sleep, 50
send {end up}
sleep, 2000
send {end down}
sleep, 50
send {end up}
GetKeyState, state, F12, P
if state = D
break
}
return


xbutton1::
{
Send {end down}
sleep 30
Send {end up}
}
return
xbutton1 up::
{
Send {end down}
sleep 30
Send {end up}
}
return

Insert:: Reload

Я вот в такой способ решил зациклить до отключения скрипта нажатия клавишь. В данном случае это кнопка end. Зацикливание работает хорошо. Может есть какие-то специальные заготовки для зацикливания клавишь? А то это такой совковый метод, но он полностью работает без глюков. Ну это так, между прочим... Неважно.
Мне нужно, если я зажимаю xbutton1, чтобы скрипт на кнопке delete останавливался на той точке, на которой он в данный момент находтися, а по отпусканию xbutton1 продолжал действие(хотя, если это сложно сделать и очень замороченно, что придется писать скрипт огроменный, то лучше просто пускай начинается сначала). И одновременно при нажатии и отпускании xbutton1 выполнялся вот этот скрипт:

xbutton1::
{
Send {end down}
sleep 30
Send {end up}
}
return

xbutton1 up::
{
Send {end down}
sleep 30
Send {end up}
}
return

Все работает почти правильно, только при нажатии xbutton1 скрипт по хоткею delete продолжает выполняться. Я неправильно прописал вначале getkeysate и keywait . А как правильно?

2 (изменено: sergeant.coolagin, 2011-03-13 06:12:26)

Re: AHK: Приостановка выполнения части скрипта.

Еще вот так попробовал, тоже скрипт повторяет выполнятся несмотря ни на что:

#InstallKeybdHook
#InstallMouseHook
Process, Priority, , realtime
setmousedelay, -1

*Delete::

LOOP
{
a:
GetKeyState, state, xbutton1, P
if state = D
goto, a
sleep, 4900
send {end down}
sleep, 50
send {end up}
sleep, 2000
GetKeyState, state, xbutton1, P
if state = D
goto, a
send {end down}
sleep, 50
send {end up}
GetKeyState, state, F12, P
if state = D
break
}
return


*xbutton1::
{
Send {end down}
sleep 30
Send {end up}
}
return
xbutton1 up::
{
Send {end down}
sleep 30
Send {end up}
}
return

Insert:: Reload