2010-01-02 24 views
10

Quiero un script donde presionar F1 hace que AutoHotkey mantenga presionado el botón izquierdo del mouse. Luego quiero que el script suelte el mouse una vez que presiono la tecla nuevamente.Manteniendo presionado el botón izquierdo del mouse en AutoHotkey

¿Cómo puedo hacer eso?

+3

Para aquellos dispuestos a cerrar el hilo: se trata de una cuestión de programación, AutoHotkey es un lenguaje de programación. – PhiLho

+0

@PhiLho: gracias por señalar eso. Casi cerré esto yo mismo. –

+1

@Pizza Overflow: es posible que desee considerar incluir un breve fragmento de código en las preguntas de AHK para evitar confusiones. Si solo incluye un pequeño fragmento de código que muestre lo que ha intentado hasta ahora, eso debería ser suficiente para que la gente no cierre sus preguntas erróneamente como "no relacionadas con la programación". –

Respuesta

13

yo usaría Haga clic abajo y haga clic en Arriba

Click es generalmente Preferido sobre MouseClick porque compensa automáticamente si el usuario ha cambiado los botones izquierdo y derecho del mouse a través del panel de control del sistema.

F1:: 
    alt := not alt 
    if (alt) 
    { 
     Click down 
    } 
    else 
    { 
     Click up 
    } 
Return 
+0

He necesitado agregar 'Return' al final del código de procedimiento de tecla de acceso rápido para que funcione para mí. 'F1 :: alt: = no alt if (alt) {Hacer clic abajo} else {Hacer clic arriba} Volver' –

0

Mmm, estoy un poco oxidado en la programación AHK, pero aquí es lo que he intentado, parece que funciona:

F1:: 
    alt := not alt 
    If (alt) 
    { 
    MouseClick Left, 217, 51, , , D 
    } 
    Else 
    { 
    MouseClick Left, 217, 51, , , U 
    } 
Return 
+0

El uso de MouseClick es excesivo y lo hace parecer más complicado. Haga clic en Arriba/Abajo debería ser suficiente. – syaz

+1

Sí, eso es lo que hizo DaMacc ... – PhiLho

3

Aquí es una sola línea en caso de que a alguien le interesa:

F1::Click % GetKeyState("LButton") ? "Up" : "Down" 
+0

¿Puedo usar este one-liner para ** Clic derecho del mouse **? Al cambiar '' LButton'' -> '' RButton'' todavía parece activarse el clic izquierdo del mouse .... –

+1

Sí. 'F1 :: Haga clic derecho% GetKeyState (" RButton ")? "Arriba": "Abajo" 'podría hacer el trabajo. Si no, haga 'F1 :: Click%" right "(GetKeyState (" RButton ")?" Arriba ":" Abajo ")' – Forivin

+0

¡Perfecto! '' F1 :: Click% "right" (GetKeyState ("RButton")? "Arriba": "Abajo") '' funciona como se esperaba! Gracias Forivin! –

Cuestiones relacionadas