Post by Flipeador » 28 Sep 2017, 16:36
He probado el código con Notepad y me hace lo mismo, interfiere cuando estas escribiendo en otra ventana. He encontrado
un tema al respecto pero no parece ser el caso, diría que este comportamiento es normal.
Una 'solución' sería detener el Script cuando detecte que el teclado está siendo utilizado, por ejemplo:
(nota: cambiar el título de la ventana, puse el bloc de notas para probar)
Code: Select all
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
settitlematchmode,2
F1::
Gosub t1
SetTimer, t1, 500
SetTimer, t2, 500
i := false
While (!i)
{
controlSend,,{left down}, Bloc de notas
Sleep 1000
controlSend,,{left up}, Bloc de notas
controlSend,,{down down}, Bloc de notas
Sleep 1000
controlSend,,{down up}, Bloc de notas
}
Return
t1:
controlSend,,{enter down}, Bloc de notas
Sleep 400
controlSend,,{enter up}, Bloc de notas
Return
F2::
i := true
SetTimer, t1, Off
SetTimer, t2, Off
Return
t2:
SetTimer, t2, Off
If (!i)
{
Input, Str, B I L1 V * E
If (ErrorLevel == "Max")
{
Gosub F2
SetTimer, F1, -1000
}
SetTimer, t2, On
}
Return
He probado el código con Notepad y me hace lo mismo, interfiere cuando estas escribiendo en otra ventana. He encontrado [url=https://autohotkey.com/board/topic/11256-how-can-i-send-keys-with-out-interference/]un tema[/url] al respecto pero no parece ser el caso, diría que este comportamiento es normal.
Una 'solución' sería detener el Script cuando detecte que el teclado está siendo utilizado, por ejemplo:
(nota: cambiar el título de la ventana, puse el bloc de notas para probar)
[code=autohotkey file=Untitled.ahk]#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
settitlematchmode,2
F1::
Gosub t1
SetTimer, t1, 500
SetTimer, t2, 500
i := false
While (!i)
{
controlSend,,{left down}, Bloc de notas
Sleep 1000
controlSend,,{left up}, Bloc de notas
controlSend,,{down down}, Bloc de notas
Sleep 1000
controlSend,,{down up}, Bloc de notas
}
Return
t1:
controlSend,,{enter down}, Bloc de notas
Sleep 400
controlSend,,{enter up}, Bloc de notas
Return
F2::
i := true
SetTimer, t1, Off
SetTimer, t2, Off
Return
t2:
SetTimer, t2, Off
If (!i)
{
Input, Str, B I L1 V * E
If (ErrorLevel == "Max")
{
Gosub F2
SetTimer, F1, -1000
}
SetTimer, t2, On
}
Return[/code]