Wolas, vereis estaba haciendo un programilla, qe tiene una fase qe es tipo salvapantallas, es decir formularios en visible=false y cuando se presione una tecla, se mueva el raton, o se haga click haga una accion, pero ahi me he qedado estancao. Supongo qe si se podra hacer pero me estoy volviendo loco con el mousemove, mouseup, mousedown... y nada.
Alguien me podria ayudar?
Thanks
Hola:
Tines q usar una Api, mira aki te dejo un ejemplo (eso si, tienes q indicar las coordenadas)
Módulo:
Declare Sub SetCursorPos Lib "User32" (ByVal X As Integer, ByVal Y As Integer)
Form:
Private Sub Form_Load()
X% = (Form1.Left + Command1.Left + Command1.Width / 2 + 60) / Screen.TwipsPerPixelX
Y% = (Form1.Top + Command1.Top + Command1.Height / 2 + 360) / Screen.TwipsPerPixelY
SetCursorPos X%, Y%
End Sub
Esto pondria el raton sobre un boton a la carga del formulario. Espero que sea esto lo q estas buscando
1S4ludo
Gracias por la respuesta EON, pero no es eso exactamente, eso es para situar el cursor en el command1 cuando se cargue el formulario (no?), pero lo qe yo digo es, por ejemplo, un programa qe se ejecute ocultamente, tipo virus, y qe cuando muevas el raton, en windows o donde sea, sin el formulario de tu prorgama o hagas click en cualqier sitio de la pantalla te salga un msgbox por ejemplo diciendo "Ha movido el raton" o "ha pulsado el boton izkierdo/derecho del raton", no se si me he explicado bien, qe ocurra una accion cuando ocurra el evento "mover raton" (qe es lo qe no se lo qe es)
Saludos
Para cambiar de posicion el mouse vas a usar la siguiente api:
Public Declare Function SetCursorPos Lib "user32.dll" (ByVal x As Long, ByVal y As Long) As Long
Para hacer click con el mouse vas a usar la siguiente api:
Public Declare Sub mouse_event Lib "user32.dll" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy _
As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Constantes del mouse_event
Const MOUSEEVENTF_ABSOLUTE = &H8000
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_MOVE = &H1
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10
Const MOUSEEVENTF_WHEEL = &H80
Const MOUSEEVENTF_XDOWN = &H100
Const MOUSEEVENTF_XUP = &H200
Const WHEEL_DELTA = 120
Const XBUTTON1 = &H1
Const XBUTTON2 = &H2
Para hacer click pone este code
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
Despues para mover el mouse :
SetCursorPos("x", "y")
Saludos FMG ..........
Hola:
Disculpa, pensaba q te referias a otra cosa... xD
Eso q dices se puede hacer adaptando el code q a puesto gmf_321
Si pones en un timer la parte del codigo q dice:
SetCursorPos("x", "y")
y estableces la con un if q cada vez q cambie salte un msgbox... Te pondria un ejemplo, pero es q me salta error de compilacion al usar esa linea... no se si es q esta mal o que, pero yo no le veo el fallo, me dice q falta un "=" :o
Esa es la idea, ahora solo e keda adaptarlo ;)
1S4ludo
Hola:
Mira ya lo e encontrado, solo habia q leer un poco mas abajo xD
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Sub Form_Load()
Timer1.Interval = 10
End Sub
Private Sub Label1_Change()
MsgBox "hola"
End Sub
Private Sub Timer1_Timer()
Dim PT As POINTAPI
GetCursorPos PT
Label1.Caption = PT.X & "-" & PT.Y
End Sub
Ya esta cada vez q mueva el raton sale un msgbox ;D
Lo q le faltaba al code de gmf_321 era eso de:
Private Type POINTAPI
X As Long
Y As Long
End Type
Esto tb lo puedes adaptar pa cuando haga click y tal... la cosa es hecharle imaginacion xD
1S4ludo
Ei gracias tios soys los amos :-*
Saludos