Visual Basic - enviar teclas

Life is soft - evento anual de software empresarial
 
Vista:

enviar teclas

Publicado por Carlos (2 intervenciones) el 23/01/2005 17:59:32
Mira, yo soy muy novato en el tema y hay un problema que sin
duda para ti seria una tonteria pero el cual yo no puedo resolver.

Lo que tengo que hacer es un pequeño programa en Visual Basic 6.0 que me permita enviar teclas
a otra aplicación que se esté ejecutando: un juego, un procesador de textos, una calculadora, etc.

Y me encantaria saber si hay alguna forma para que aparte de teclas se pueda mover el puntero
del mouse dentro de la aplicación. Aunque dudo mucho que esto ultimo sea posible. Quizas tu puedas.

Muchisimas gracias de antemano.

Carlos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:enviar teclas

Publicado por Cecilia Colalongo (3116 intervenciones) el 23/01/2005 18:09:41
Lo que pides no es algo relativamente sencillo porque varía según las aplicaciones a las que quieras enviar las pulsaciones. Deberías utilizar BringWindowToTop para pasar la ventana que quieres hacia adelante y luego, keybd_event, por ejemplo para el Notepad:

lngHwnd = FindWindow("Notepad", "Untitled - Notepad")

BringWindowToTop lngHwnd

strProv = "Esta es una prueba"

For i = 1 To Len(strProv)
keybd_event Asc(Mid(strProv, i, 1)), 0, 0, 0
keybd_event Asc(Mid(strProv, i, 1)), 0, KEYEVENTF_KEYUP, 0
Next i

keybd_event 13, 0, 0, 0
keybd_event 13, 0, KEYEVENTF_KEYUP, 0

Las funciones son:

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public Declare Function BringWindowToTop Lib "user32" Alias "BringWindowToTop" (ByVal hwnd As Long) As Long

Public Declare Sub keybd_event Lib "user32" Alias "keybd_event" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mover Mouse

Publicado por Benjo (679 intervenciones) el 24/01/2005 03:19:59
El sigiente es un ejemplo de AllAPI en donde se utiliza la API mouse_event para mover el Mouse y hacer click en el lugar deseado, dandole las coordenadas con los parámetros correctos.

'Before you start this program, I suggest you save everything that wasn't saved yet.
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_MOVE = &H1
Const MOUSEEVENTF_ABSOLUTE = &H8000
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10
Private Sub Form_Activate()
'KPD-Team 1998
'URL: http://www.allapi.net/
'E-Mail: [email protected]
Do
'Simulate a mouseclick on the cursor's position
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0&, 0&, cButt, dwEI
DoEvents
Loop
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar