Ejemplos usando el Api de windows para Visual basic

231 - Saber si se ha movido el Mouse

<Volver> - Anterior - Siguiente



 

 

 

Contenido:

 

 

 

 

 


Ejemplo 1 ( Con un Timer )

Simple ejemplo de la función GetCursorPos con un termporizador para averiguar cuando se ha movido el puntero del mouse

El ejemplo tiene una función de ajuste que retorna un valor de tipo Boolean , devolviendo True cuando se ha movido el puntero. Dicha función está dentro de un Timer para poder obtener constantemente las coordenadas y compararlas con los valores anteriores , es decir la posición x / y anterior.

 

Ejemplo

Colocar en el formulario un control Timer llamado Timer1

Código fuente en el formulario

 


Ejemplo 2 - Mediante un Hook

Acá te muestro otra forma simple que descubrí de poder saber si se mueve el mouse, En este caso haciendo un gancho o Hook al mouse

La ventaja con respecto al ejemplo anterior, es que no se requiere utilizar un timer que chequee constantemente los valores para poder determinar si se movió el puntero, por lo tanto se ahorran recursos en el programa

Primero se instala el Hook con la función Api SetWindowsHookEx. A esta función, se le pasa el procedimiento que se disparará o interceptará la actividad del puntero ( Sub que debe estar si o si en un módulo bas ). En este caso dicha función le puse MouseProc.

        IdProc = SetWindowsHookEx(WH_MOUSE_LL, _
                                  AddressOf MouseProc, _
                                  App.hInstance, 0) 

 

Dentro de la función MouseProc, se recupera las coordenadas del puntero con la api GetCursorPos, y los valores se imprimen en el formulario :

 

 

Nota: para eliminar el Hook, se usa la función UnhookWindowsHookEx, pasádole el identificador del Hook, este id o puntero , es el que retorna la función SetWindowsHookEx en el momento de instalar el gancho.

 

Ejemplo

Agregar a un form1 , dos Commandbutton ( Command1 y Command2 ) , y un módulo bas al proyecto.

Código fuente en el formulario

 

Código fuente en el módulo bas

 


Relacionados



Buscar en Recursos vb