Тема: AHK: Избежать прерывания процесса выполнения
На этом сайте нашел скрипт для запуска двух процессов из одного файла. Он мне как раз нужен был.
#SingleInstance off
Param = %1%
IsFunc(Param) ? %Param%() : proc1()
Return
proc1() {
Run, %A_ScriptFullPath% proc2
loop
ToolTip % A_ThisFunc "`n" A_TickCount "`nProcessId = " DllCall("GetCurrentProcessId"),111,111
}
proc2() {
loop
ToolTip % A_ThisFunc "`n" A_TickCount "`nProcessId = " DllCall("GetCurrentProcessId"),111,222
}
Но мне как-то нужно туда еще запихнуть этот скрипт:
$vk20::
Loop
{
if not GetKeyState("vk20", "P")
break
send {Space down}
sleep, 20
send {Space up}
sleep, 20
send {Space down}
sleep, 20
send {Space up}
sleep, 20
send {Space down}
sleep, 20
send {Space up}
sleep, 20
send {Space down}
sleep, 20
send {Space up}
sleep, 20
send {Space down}
sleep, 20
send {Space up}
sleep, 20
send {Space down}
sleep, 20
send {Space up}
sleep, 20
}
return
Если их соединить таким образом:
#SingleInstance off
Param = %1%
IsFunc(Param) ? %Param%() : proc1()
Return
proc1() {
Run, %A_ScriptFullPath% proc2
loop
ToolTip % A_ThisFunc "`n" A_TickCount "`nProcessId = " DllCall("GetCurrentProcessId"),111,111
}
proc2() {
loop
ToolTip % A_ThisFunc "`n" A_TickCount "`nProcessId = " DllCall("GetCurrentProcessId"),111,222
}
$vk20::
Loop
{
if not GetKeyState("vk20", "P")
break
send {Space down}
sleep, 20
send {Space up}
sleep, 20
send {Space down}
sleep, 20
send {Space up}
sleep, 20
send {Space down}
sleep, 20
send {Space up}
sleep, 20
send {Space down}
sleep, 20
send {Space up}
sleep, 20
send {Space down}
sleep, 20
send {Space up}
sleep, 20
send {Space down}
sleep, 20
send {Space up}
sleep, 20
}
returnТо при зажатии пробела видно по тултипу что второй поток прерывается. Как этого избежать?
Заранее спасибо за ответ)

