como poner tiempos a diferentes ejecuciones de teclas Topic is solved

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.
gbariesgb
Posts: 7
Joined: 17 May 2018, 00:10

como poner tiempos a diferentes ejecuciones de teclas

20 May 2018, 01:28

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. :| :shock:

Loop
{
SendInput {lctrl down}q{lctrl up}
Sleep 1000
SendInput {lctrl down}p{lctrl up}
Sleep 35000
}
User avatar
Flipeador
Posts: 1004
Joined: 15 Nov 2014, 21:31
GitHub: Flipeador
Location: Argentina
Contact:

Re: como poner tiempos a diferentes ejecuciones de teclas

20 May 2018, 09:09

Hola, no se entiende bien, pero puede que el comando SetTimer te sirva.
Te dejo un ejemplo de como se usa:

Code: [Select all] [Download] (Untitled.ahk)GeSHi © Codebox Plus

; 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

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.
Windws 1♂ Pro 64-Bits I make scripts for AHKv2 (my v2 compiler) & WIN_7+ Spanish Argentina SublimeText 3 & AHKv2 My GDI+ Library
gbariesgb
Posts: 7
Joined: 17 May 2018, 00:10

Re: como poner tiempos a diferentes ejecuciones de teclas

20 May 2018, 16:56

Flipeador wrote:Hola, no se entiende bien, pero puede que el comando SetTimer te sirva.
Te dejo un ejemplo de como se usa:

Code: [Select all] [Download] (Untitled.ahk)GeSHi © Codebox Plus

; 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

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.




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 :headwall:
User avatar
Flipeador
Posts: 1004
Joined: 15 Nov 2014, 21:31
GitHub: Flipeador
Location: Argentina
Contact:

Re: como poner tiempos a diferentes ejecuciones de teclas

20 May 2018, 18:13

Prueba este código (sin probar)

Code: [Select all] [Expand] [Download] (Untitled.ahk)GeSHi © Codebox Plus


Aunque seguramente hay una mejor manera de hacerlo.
Windws 1♂ Pro 64-Bits I make scripts for AHKv2 (my v2 compiler) & WIN_7+ Spanish Argentina SublimeText 3 & AHKv2 My GDI+ Library
gbariesgb
Posts: 7
Joined: 17 May 2018, 00:10

Re: como poner tiempos a diferentes ejecuciones de teclas

21 May 2018, 02:49

Flipeador wrote:Prueba este código (sin probar)

Code: [Select all] [Expand] [Download] (Untitled.ahk)GeSHi © Codebox Plus


Aunque seguramente hay una mejor manera de hacerlo.



Bueno, he intentado pero no logro que ejecute, sera porque no me se explicarme bien :cry: .

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/
User avatar
Flipeador
Posts: 1004
Joined: 15 Nov 2014, 21:31
GitHub: Flipeador
Location: Argentina
Contact:

Re: como poner tiempos a diferentes ejecuciones de teclas  Topic is solved

21 May 2018, 08:12

Bueno, he intentado pero no logro que ejecute

Detalles del por qué no te funciona estaría bien.


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.

ejecute el ctrl+7 durante 1 segundo

¿A que te refieres que el Loop se ejecute 2 veces?


Prueba:

Code: [Select all] [Expand] [Download] (Untitled.ahk)GeSHi © Codebox Plus

Windws 1♂ Pro 64-Bits I make scripts for AHKv2 (my v2 compiler) & WIN_7+ Spanish Argentina SublimeText 3 & AHKv2 My GDI+ Library
gbariesgb
Posts: 7
Joined: 17 May 2018, 00:10

Re: como poner tiempos a diferentes ejecuciones de teclas

21 May 2018, 10:37

Flipeador wrote:
Bueno, he intentado pero no logro que ejecute

Detalles del por qué no te funciona estaría bien.


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.

ejecute el ctrl+7 durante 1 segundo

¿A que te refieres que el Loop se ejecute 2 veces?


Prueba:

Code: [Select all] [Expand] [Download] (Untitled.ahk)GeSHi © Codebox Plus




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
User avatar
Flipeador
Posts: 1004
Joined: 15 Nov 2014, 21:31
GitHub: Flipeador
Location: Argentina
Contact:

Re: como poner tiempos a diferentes ejecuciones de teclas

21 May 2018, 12:30

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.
Windws 1♂ Pro 64-Bits I make scripts for AHKv2 (my v2 compiler) & WIN_7+ Spanish Argentina SublimeText 3 & AHKv2 My GDI+ Library
gbariesgb
Posts: 7
Joined: 17 May 2018, 00:10

Re: como poner tiempos a diferentes ejecuciones de teclas

21 May 2018, 14:53

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.


pues al final lo modifique tal como me dijistes y me funciono bien tal como queria.

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 8 times
User avatar
Flipeador
Posts: 1004
Joined: 15 Nov 2014, 21:31
GitHub: Flipeador
Location: Argentina
Contact:

Re: como poner tiempos a diferentes ejecuciones de teclas

21 May 2018, 14:58

Si, esta bien así, me alegro que te haya funcionado. Da igual si pones m o s o cualquier otro nombre de variable.
Saludos.
Windws 1♂ Pro 64-Bits I make scripts for AHKv2 (my v2 compiler) & WIN_7+ Spanish Argentina SublimeText 3 & AHKv2 My GDI+ Library

Return to “Pedir Ayuda”

Who is online

Users browsing this forum: No registered users and 2 guests