Mantener click presionado en un punto X,Y

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.

Moderator: Flipeador

User avatar
panqueso
Posts: 30
Joined: 12 Jul 2018, 15:09

Mantener click presionado en un punto X,Y

12 Jul 2018, 21:58

Perdonen mi segunda intervención del día, pues es complejo para mi comprender la guíatutorial en inglés de Autohotkey :| Mi duda es con respecto al comando MouseMove el cual me parece algo complejo de utilizar a lo que quiero adaptar. Explico:
Deseo mantener presionado el click izquierdo desde un punto X,Y a otro punto X,Y mediante las letras comprendidas entre Q y C en una determinada ventana activa. Ejemplos:

- En una ventana activa mi cursor se encuentra ubicado en el punto 50,78. Al presionar Q el cursor debe dar click izquierdo en el punto 30,30. Si mantengo presionado Q seguido de W el cursor debe mantener el click izquierdo desde el punto 30,30 hasta el 60,30.

- Si mi cursor se encuentra ubicado en el punto 19,85 al presionar C el cursor debe dar click en el punto 90,90. Si mantengo presionado C seguido de E el cursor mantendrá click izquierdo desde el punto 90,90 hasta el 90,30.

Espero me haya podido explicar.
User avatar
Flipeador
Posts: 1204
Joined: 15 Nov 2014, 21:31
Location: Argentina
Contact:

Re: Mantener click presionado en un punto X,Y

16 Jul 2018, 11:33

Utiliza la directiva #IfWinActive para hacer que una combinación de teclas se ejecute solo en la ventana especificada.
Luego MouseGetPos para recuperar las coordenadas actuales del cursor y compararlas con las deseadas.
Para establecer una rutina cuando se presionan dos letras, declara solo para una y utiliza KeyWait y GetKeyState con la otra.

Code: Select all

;#IfWinActive titulo_ventana
q::
MouseGetPos X, Y
KeyWait w, D T0.5
if (ErrorLevel)
{
    ToolTip 1
    if (X = 50 && Y = 78)
        Click 30, 30
}
else
{
    ToolTip 2
    if (GetKeyState("w"))
        MouseClickDrag L, 30, 30, 60, 30
}
return
;#If

Return to “Pedir Ayuda”

Who is online

Users browsing this forum: No registered users and 18 guests