Buenas tardes a todos, tengo una pequeña consulta.
1-Quisiera saber si despues ejecutar el ctrl+q y ctrl+p durante 2 horas, luego se ponga a ejecutar el ctrl+7 solo 1 vez.
2- y que regrese nuevamente al comienzo, repitiendo el mismo bucle.
Loop
{
SendInput {lctrl down}q{lctrl up}
Sleep 1000
SendInput {lctrl down}p{lctrl up}
Sleep 35000
}
como poner tiempos a diferentes ejecuciones de teclas Topic is solved
Moderator: Flipeador
Re: como poner tiempos a diferentes ejecuciones de teclas
Hola, no se entiende bien, pero puede que el comando SetTimer te sirva.
Te dejo un ejemplo de como se usa:
Si puede hacer funcionar todo tu código con SetTimer sin bucles mejor. Si necesitas añadir el Loop debes hacerlo antes del primer Return.
Te dejo un ejemplo de como se usa:
Code: Select all
; ejecuta "etiqueta" cada 2 horas (debes especificar en milisegundos)
SetTimer etiqueta, % ( (1000 * 60) * 60 ) * 2 ; 7200000 ms = 2 h
Return
etiqueta:
SendInput {lctrl down}7{lctrl up}
Return
Re: como poner tiempos a diferentes ejecuciones de teclas
Flipeador wrote:Hola, no se entiende bien, pero puede que el comando SetTimer te sirva.
Te dejo un ejemplo de como se usa:Si puede hacer funcionar todo tu código con SetTimer sin bucles mejor. Si necesitas añadir el Loop debes hacerlo antes del primer Return.Code: Select all
; ejecuta "etiqueta" cada 2 horas (debes especificar en milisegundos) SetTimer etiqueta, % ( (1000 * 60) * 60 ) * 2 ; 7200000 ms = 2 h Return etiqueta: SendInput {lctrl down}7{lctrl up} Return
Gracias Flipeador por tu amable respuesta, pero mas que nada, si me dejo entender es que en este codigo:
SendInput {lctrl down}q{lctrl up}
Sleep 1000
SendInput {lctrl down}p{lctrl up}
Sleep 35000
-Cada 2 horas se detenga esta combinacion de teclas y luego de ese tiempo transcurrido ejecute el ctrl+7 durante 1 segundo y que esto lo haga indefinidamente sin parar.
por eso no se, si se cual seria mas factible con loop o set time
Re: como poner tiempos a diferentes ejecuciones de teclas
Prueba este código (sin probar)
Aunque seguramente hay una mejor manera de hacerlo.
Code: Select all
n := 1
SetTimer T1, -7200000
Loop
{
Sleep 50
If (n)
SendInput {lctrl down}q{lctrl up}
If (n)
Sleep 1000
If (n)
SendInput {lctrl down}p{lctrl up}
If (n)
Sleep 35000
}
T1:
n := FALSE
s := A_TickCount
Loop
If (A_TickCount-s > 1000)
Break
Else
SendInput {lctrl down}7{lctrl up}
n := TRUE
SetTimer T1, -7200000
Return
Re: como poner tiempos a diferentes ejecuciones de teclas
Flipeador wrote:Prueba este código (sin probar)Aunque seguramente hay una mejor manera de hacerlo.Code: Select all
n := 1 SetTimer T1, -7200000 Loop { Sleep 50 If (n) SendInput {lctrl down}q{lctrl up} If (n) Sleep 1000 If (n) SendInput {lctrl down}p{lctrl up} If (n) Sleep 35000 } T1: n := FALSE s := A_TickCount Loop If (A_TickCount-s > 1000) Break Else SendInput {lctrl down}7{lctrl up} n := TRUE SetTimer T1, -7200000 Return
Bueno, he intentado pero no logro que ejecute, sera porque no me se explicarme bien .
algo asi seria la estructura:
Main-LOOP1
Ejecutar SUB-loop1 ;que se ejecute por 1 hora.
"aca entraria el (ctrl+ q) y (ctrl +p)"
SendInput {lctrl down}q{lctrl up}
Sleep 1000
SendInput {lctrl down}p{lctrl up}
Sleep 35000
Ejecutar SUB-loop2 ;que se ejecute 2 veces.
"aca entraria el Ctrl +7"
y que regrese al Main-LOOP1
-Algo muy similar a este enlace, donde tambien describe un problema parecido:
https://autohotkey.com/board/topic/1009 ... -new-loop/
Re: como poner tiempos a diferentes ejecuciones de teclas Topic is solved
Detalles del por qué no te funciona estaría bien.Bueno, he intentado pero no logro que ejecute
sera porque no me se explicarme bien
Cada 2 horas se detenga esta combinacion de teclas [...]
...Ejecutar SUB-loop1 ;que se ejecute por 1 hora.
Ejecutar SUB-loop2 ;que se ejecute 2 veces.
¿A que te refieres que el Loop se ejecute 2 veces?ejecute el ctrl+7 durante 1 segundo
Prueba:
Code: Select all
Loop
{
s := A_TickCount
While (A_TickCount-s < 3600000)
{
SendInput {lctrl down}q{lctrl up}
Sleep 1000
SendInput {lctrl down}p{lctrl up}
Sleep 35000
}
SendInput {lctrl down}7{lctrl up}
Sleep 500
SendInput {lctrl down}7{lctrl up}
}
Re: como poner tiempos a diferentes ejecuciones de teclas
Flipeador wrote:Detalles del por qué no te funciona estaría bien.Bueno, he intentado pero no logro que ejecute
sera porque no me se explicarme bienCada 2 horas se detenga esta combinacion de teclas [...]...Ejecutar SUB-loop1 ;que se ejecute por 1 hora.
Ejecutar SUB-loop2 ;que se ejecute 2 veces.¿A que te refieres que el Loop se ejecute 2 veces?ejecute el ctrl+7 durante 1 segundo
Prueba:Code: Select all
Loop { s := A_TickCount While (A_TickCount-s < 3600000) { SendInput {lctrl down}q{lctrl up} Sleep 1000 SendInput {lctrl down}p{lctrl up} Sleep 35000 } SendInput {lctrl down}7{lctrl up} Sleep 500 SendInput {lctrl down}7{lctrl up} }
a esta parte
Ejecutar SUB-loop2 ;que se ejecute 2 veces
me refiero a que ese comando se ejecute por 2 segundos y que regrese al main Loop
Re: como poner tiempos a diferentes ejecuciones de teclas
Pues modifica el CTRL+7 usando la misma lógica que el While de arriba. Repite el mismo código agregando otro While y cambia el numero por el tiempo deseado en milisegundos.
Re: como poner tiempos a diferentes ejecuciones de teclas
pues al final lo modifique tal como me dijistes y me funciono bien tal como queria.Flipeador wrote:Pues modifica el CTRL+7 usando la misma lógica que el While de arriba. Repite el mismo código agregando otro While y cambia el numero por el tiempo deseado en milisegundos.
Loop
{
s := A_TickCount
While (A_TickCount-s < 3600000)
{
SendInput {lctrl down}q{lctrl up}
Sleep 1000
SendInput {lctrl down}p{lctrl up}
Sleep 35000
}
m := A_TickCount
While (A_TickCount-m < 2000)
{
SendInput {lctrl down}8{lctrl up}
Sleep 500
SendInput {lctrl down}8{lctrl up}
}
}
pero no se si esta bien puesto el while porque le puse m o algo derepente me equivoco.
- Attachments
-
- Nuevo AutoHotkey Script.ahk
- (392 Bytes) Downloaded 57 times
Re: como poner tiempos a diferentes ejecuciones de teclas
Si, esta bien así, me alegro que te haya funcionado. Da igual si pones m o s o cualquier otro nombre de variable.
Saludos.
Saludos.
Who is online
Users browsing this forum: No registered users and 58 guests