Página 1 de 1

invertir click izquierdo del mouse

Publicado: 26 Ago 2010, 04:32
por iamchavo
Hola :) , estaba buscado para invertir los ejes y clicks del mouse, encontre la parte de los ejes en este post

http://www.emesn.com/autoitforum/viewto ... f=3&t=1703

pero me gustaria saber como hacer que ,cuando mantenga apretado el click izquierdo el mouse no haga nada , pero cuando lo suelto haga click.

saluudos

Re: invertir click izquierdo del mouse

Publicado: 26 Ago 2010, 20:49
por Chefito
Poniendo dos simples condiciones más dentro de la función _MouseProc, que se cumplan cuando aparezcan los eventos de pulsar el botón izquierdo del mouse (si se cumple este evento, anulas la pulsación) y de soltarlo (si lo sueltas, haz click donde esté) se soluciona el problema:

Código: Seleccionar todo

	If $wParam = 513 Then	;entra cuando pulsas el botón izquierdo del ratón
		Return -1	;anulas el click
	EndIf
	If $wParam = 514 Then	;entra cuando sueltas el botón izquierdo del ratón
		MouseClick("left")	;pulsa el botón izquierdo del ratón
		;Return -1
	EndIf
Puedes adaptar todo el código a un select switch o a una serie de If......then.......elseIf.....then...... consecutivos, para que haga menos comprobaciones, en vez de tres condiciones. A elegir.

Saludos.

Re: invertir click izquierdo del mouse

Publicado: 27 Ago 2010, 20:32
por iamchavo
hola chefito ,gracias por lo del click , pero al abrir el programa que invierte los ejes del mouse me aparece lo siguiente

Imagen

no le agrege ninguna linia, lo abro para que invierta solo los ejes y me aparece eso
tendras alguna idea de porque ?

saludoos

Re: invertir click izquierdo del mouse

Publicado: 28 Ago 2010, 01:06
por Chefito
Cuando encontraste el código y preguntaste en el foro ni si quiera lo habías probado???? :smt012 . Anda que a veces sois lo que no hay. Por lo menos probar el código e intentar adaptarlo vosotros :smt009 .

Te da ese fallo porque esa línea continua con la de abajo, y al haber una línea en blanco en medio da error. Es uno de los errores que generaba la antigua forma de pegar el código en el foro. Aparecía más bonito, pero cambia cosas que no debía.

Junta las líneas así y no tendrás ningún problema:

Código: Seleccionar todo

Global $hHook = DllCall("user32.dll", "hwnd", "SetWindowsHookEx", "int", _
$WH_MOUSE_LL, "ptr", DllCallbackGetPtr($hStub_MouseProc), "hwnd", $hmod[0], "dword", 0)
O también puedes unirla directamente:

Código: Seleccionar todo

Global $hHook = DllCall("user32.dll", "hwnd", "SetWindowsHookEx", "int", $WH_MOUSE_LL, "ptr", DllCallbackGetPtr($hStub_MouseProc), "hwnd", $hmod[0], "dword", 0)
Y por favor, un poco de esfuerzo.....solo un poquito :smt024 .

Saludos.