Duda sobre click del mouse

Iniciado por c4st0r, 29 Agosto 2007, 03:00 AM

0 Miembros y 1 Visitante están viendo este tema.

c4st0r

Hola a todos, aprovecho para saludaros y agradecer a este foro toda la ayuda que da para seguir aprendiendo.
He buscado y rebuscado y no encuentro la solucion, a ver si alguien me puede dar una pista d como puedo crear un programa que cuente los clicks del boton izquierdo del mouse pero solo en la posicion mouseup y fuera del form, es decir con un manejo normal por windows. He usado GetAsyncKeyState(1) y con esta funcion si dejo pulsado el boton izquierdo no para de sumar y luego tambien he usado if GetAsyncKeyState(1) = -32767 y si estoy en el explorer no los cuenta, por eso lo que quiero es que solo cuente cuando se levanta en boton izquierdo.

HaDeS, -

Bueno, no se lo de "cuando se levanta el boton izquierdo", pero se que tenes un error en el codigo, el valor que le tenes que pasar al api GetAsyncKeyState debe ser un tipo byte.
Mira el siguiente codigo y dime si te sigue presentando problemas :P
Código (vb) [Seleccionar]

'El timer en ambos casos es de intervalo 1 milisegundo, tambien se puede trabajar con el api SetTimer
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Const IZQUIERDO = &H1
Private Sub Timer1_Timer()
If GetAsyncKeyState(IZQUIERDO) Then
    MsgBox "Click izquierdo oprimido"
End If
End Sub
'-----------
'Tambien lo podes hacer con la api GetKeyState:
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Const IZQUIERDO = &H1
Private Sub Timer1_Timer()
If GetKeyState(IZQUIERDO) Then
    MsgBox "Click izquierdo oprimido"
End If
End Sub


Saludos y espero haberte ayudado en algo.

cobein

#2
Lo mas facil es hacer un hook en el sistema... el codigo no es corto pero con una clase lo podes resolver facil
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

c4st0r

#3
ok muchas gracias a todos, estoy investigando lo del hook para el mouse y no encuentro ningun codigo y todo viene en ingles creo que demasiado comlicado para mis conocimiento jejeje