Page 1 of 1

Ejecutar Paint con presionar 3 veces una tecla

Posted: 07 Jul 2019, 14:23
by Wazowski
Hola buen días

Bueno básicamente eso como puedo ejecutar Paint con tan solo presionar la letra P (3) veces.

Estoy algo perdido y para la programación al nivel que sea soy malísimo

Desde ya muy agradecido

Saludos desde Venezuela

Re: Ejecutar Paint con presionar 3 veces una tecla

Posted: 07 Jul 2019, 19:46
by Wazowski
Habrá un nivel mas PRO que este código.???

Tengo que presionar enter para poder que se ejecute el PAINT y ese detalle no lo quiero que puedo hacer ?

Code: Select all

::ppp::
Run C:\Windows\System32\mspaint.exe
return

Re: Ejecutar Paint con presionar 3 veces una tecla

Posted: 07 Jul 2019, 20:49
by Flipeador
Hola.

Code: Select all

~p::
if (A_PriorKey             == "p")
&& (A_TimeSincePriorHotkey <= 250)
{
    if (flag)
    {
        run mspaint.exe
    }
    flag := TRUE
}
else
    flag := FALSE
return

Re: Ejecutar Paint con presionar 3 veces una tecla

Posted: 08 Jul 2019, 15:19
by Wazowski
@Flipeador

:o Ohh majestuoso :clap:

Re: Ejecutar Paint con presionar 3 veces una tecla

Posted: 08 Jul 2019, 17:28
by Flipeador
Hice una corrección, cambié A_ThisHotkey (que no tenía sentido la manera en que se estaba usando) por A_PriorKey. Escribí el código muy rapido y no me di cuenta.
Sin A_PriorKey, mspaint.exe se ejecutaba al escribir muy rápido con la letra p (ej. pxpxpx ejecutaba la aplicación).
Nota: puedes cambiar el valor 250 por el que quieras (>0), mientras menor sea este valor, mas rápido tendrás que presionar la p para ejecutar mspaint.exe. Indica el tiempo máximo en milisegundos (no inclusive) que deben pasar para descartar la siguiente pulsación de la tecla p o romper la secuencia de tres pulsaciones.

:wave:

Re: Ejecutar Paint con presionar 3 veces una tecla

Posted: 08 Jul 2019, 19:33
by Wazowski
@Flipeador

Como puedo modificar en vez de 3 sean 4 o las que quiera ? no lo veo en el código

Está corrección funciona mejor que la otra cuando recargaba se accionaba presionando 2 veces la p pero luego si volvía a la normalidad presionando 3 veces p

Genial :clap:

Re: Ejecutar Paint con presionar 3 veces una tecla  Topic is solved

Posted: 08 Jul 2019, 21:02
by Flipeador
Cambia el número 3 de la variable times por la cantidad deseada. Para cambiar la letra simplemente cambia p en ~p::.

Code: Select all

times := 3    ; Cantidad de veces que la letra se debe pulsar.
count := 1    ; No modificar.
delay := 250  ; Tiempo máximo, en milisegundos. Pasado este tiempo, se rompe la secuencia.

~p::  ; Tecla deseada.
if ("~" . A_PriorKey       == A_ThisHotkey)
&& (A_TimeSincePriorHotkey <=        delay)
{
    if (times == ++count)
    {
        ; Aquí poner cualquier código. --->
        run mspaint.exe
        ; <---
    }
}
else
    count := 1
return

Re: Ejecutar Paint con presionar 3 veces una tecla

Posted: 08 Jul 2019, 21:10
by Wazowski
@Flipeador

Bravo!!! :clap:

Muchas Gracias. :)

Re: Ejecutar Paint con presionar 3 veces una tecla

Posted: 21 Nov 2022, 15:56
by onixma211
hola, necesito ayuda por favor, soy nuevo en esto y deseo que al presionar 3 veces una tecla por ejemplo la tecla F2 o cualquier tecla se presione automaticamente otra tecla por ejemplo el numero 5, muchas gracias por la ayuda

Re: Ejecutar Paint con presionar 3 veces una tecla

Posted: 21 Nov 2022, 17:34
by sofista
@onixma211 Este script está adaptado del ejemplo 3 del comando SetTimer (clic para una explicación de los comandos utilizados en el script), funciona con una letra común, como p, una tecla de función, como F2, o una modificatoria, como LAlt.

Si presionas el hotkey, en el ejemplo p, tres veces en menos de un segundo, se envía un 5 .

Code: Select all

p::
if (KeyPresses > 0) {
	KeyPresses += 1
	return
}

KeyPresses := 1
SetTimer, KeyToPress, -1000    ; en milisegundos, ajústalo a tus necesidades.
return

KeyToPress:
if (KeyPresses = 3) {
	Send, 5                    ; o la tecla o texto que quieras.
}

KeyPresses := 0
return