Hola.
Estoy tratando de hacer algo que invierta los ejes del raton.
osea que si voy a la derecha la flechita valla a la izquierda y etc.
Tengo el codigo
Choreado Prestado del NRC de Psyke con hook al mouse pero ni idea como hacer
puedo tomar la poscicion actual del cursor y hacerlo saltar a una.
osea, los comandos los tengo, me falta cabeza de programador.
Gracias por la ayuda.
Codigo del hook al mouse
Option Explicit
Private Declare Function SetWindowsHookEx Lib "user32.dll" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Private Declare Function UnhookWindowsHookEx Lib "user32.dll" (ByVal hHook As Long) As Long
Dim hHook As Long
Public Sub StartHook()
hHook = SetWindowsHookEx(14, AddressOf MouseProc, App.hInstance, 0)
End Sub
Public Sub StopHook()
Call UnhookWindowsHookEx(hHook)
End Sub
Private Function MouseProc(ByVal nCode As Long, ByVal wParam As Long, lParam As Long) As Long
'On Error Resume Next
If wParam = 516 Then 'si sirve de algo el wParam cuando se mueve el mouse es 512
Form1.Print "CLICK BOTON DERECHO"
ElseIf wParam = 517 Then Form1.Print "SOLTÓ BOTON DERECHO"
ElseIf wParam = 513 Then Form1.Print "CLICK BOTON IZQUIERDO"
ElseIf wParam = 514 Then Form1.Print "SOLTÓ BOTON IZQUIERDO"
ElseIf wParam = 519 Then Form1.Print "CLICK BOTON MEDIO"
ElseIf wParam = 520 Then Form1.Print "SOLTÓ BOTON MEDIO"
End If
Form1.Caption = wParam
End Function
Este es el codigo de pruebas que tengo en el form.
Option Explicit
Private Declare Function GetCursorPos Lib "user32.dll" (ByRef lpPoint As POINTAPI) As Long
Private Declare Function SetCursorPos Lib "User32" (ByVal X As Long, ByVal Y As Long) As Long
'\\Variables
Private Type POINTAPI
X As Long
Y As Long
End Type
Dim pt As POINTAPI
Dim Que As Variant
Dim cX As Integer, cY As Integer
Private Sub Command1_Click()
GetCursorPos pt
cX = pt.X: cY = pt.Y
Command1.Caption = cX & ";" & cY
End Sub
Private Sub Form_Load()
Me.AutoRedraw = True
StartHook
End Sub
Private Sub Form_Unload(Cancel As Integer)
StopHook
End Sub
Cuando apretas el boton Command1 cambia su caption a las coordenadas del cursor
Para hacer "saltar" el cursor es
SetCursorPos [X,Y]