Hola,
Yo quisiera saber si se puede saber el nombre del puntero del raton actual, por ejemplo
cuando pongo el raton encima de una cara de estas( :D ) sale una mano, o cuando sale el raton cargando. Pues cuando cambie de estado que me diga como se llama o el numero de referencia o algo.
Se puede?
Lo que he probado a sido un timer que cuando cambie de estado haga lo siguiente:
Text1.Text = Text1.Text & Screen.MousePointer & vbNewLine
pero solo me escribia algo cuando cambiaba el puntero del form mio.
Gracias.
Bueno ya encontre algo, pa quien le interese
Private Declare Function GetCursor Lib "user32" () As Long
Dim c1 As Long, c2 As Long
Private Sub Form_Load()
c1 = GetCursor
Timer1.Interval = 1
End Sub
Private Sub Timer1_Timer()
c2 = GetCursor
If c2 <> c1 Then
c1 = c2
Me.Print c1
End If
End Sub
Es mejor subclasificar al Form en lugar de usar un Timer!¡... Bueno es lo que yo haria!¡.
Dulce Infierno Lunar!¡.
que quieres decir con subclasificar? me pones un ejemplo?
Aparte de esas preguntas me salio un problema, solo funciona cuando cambia dentro del form o en donde el diseño de visual basic, en este foro por ejemplo no funciona, alguna idea?
GetCursor es solo valido para la instancia para el cursor en general usa GetCursorInfo, en este caso no te serviria de nada subclasificar quizas hooks sea lo mas apropiado.
Option Explicit
Private Declare Function GetCursorInfo Lib "user32.dll" (ByRef pci As PCURSORINFO) As Long
Private Type POINTAPI
x As Long
y As Long
End Type
Private Type PCURSORINFO
cbSize As Long
flags As Long
hCursor As Long
ptScreenPos As POINTAPI
End Type
Dim CI As PCURSORINFO
Dim hMemCursor As Long
Private Sub Form_Load()
CI.cbSize = Len(CI)
GetCursorInfo CI
hMemCursor = CI.hCursor
Timer1.Interval = 10
End Sub
Private Sub Timer1_Timer()
CI.cbSize = Len(CI)
GetCursorInfo CI
If hMemCursor <> CI.hCursor Then
hMemCursor = CI.hCursor
Me.Print hMemCursor
End If
End Sub
Muchas gracias funciona :D, una duda, lo del tipo pointapi x & y no hace falta no? eso se una para GetCursorPos no?
Otra ves muxas gracias