Visual Basic - API cómo enviar .... ?

Life is soft - evento anual de software empresarial
 
Vista:

API cómo enviar .... ?

Publicado por ALberto (8 intervenciones) el 08/02/2005 08:20:56
Empleando la api estoy usando sendmessage para mandar a otra aplicacioón una serie de pulsaciones con el teclado, alguien sabe cómo mandar pulsaciones complejas como por ejemplo:

a) el símbolo "/" que sale de pulsar shift + 7
b) el símbolo "_" que sale de pulsar shift + "-"

Gracias
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:API cómo enviar .... ?

Publicado por Cecilia Colalongo (3116 intervenciones) el 08/02/2005 10:06:06
Fijate con esto, a ver que ocurre, 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

RE:API cómo enviar .... ?

Publicado por Alberto (8 intervenciones) el 08/02/2005 11:31:29
Pues no funciona de hecho ni siquiera manda la cadena correctamente porque la traduccion a teclas virtuales no debe de coincidir.

El codigo ascii no concuerda con las virtual key.

Y en todo caso, cómo simularias que los caracteres que no tienen asignada una virtual key ?
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

RE:API cómo enviar .... ?

Publicado por Cecilia Colalongo (3116 intervenciones) el 08/02/2005 11:58:32
A mi me funciona sin problemas. Por el resto fijate en: http://miarroba.com/foros/ver.php?foroid=226398&temaid=1188533
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

RE:API cómo enviar .... ?

Publicado por Alberto (8 intervenciones) el 09/02/2005 08:06:26
Le echare un ojo gracias
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
sin imagen de perfil
Val: 6
Ha disminuido su posición en 26 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:API cómo enviar .... ?

Publicado por alejo (4 intervenciones) el 08/02/2019 01:07:07
Creo que el error no radica en el codigo en si, solo que hay que distinguir si el block de notas esta en ingles o español, a mi me funciono pero como tengo elblock de notas en español solo hay que cambiar lngHwnd = FindWindow("Notepad", "Untitled - Notepad") por este
lngHwnd = FindWindow("Notepad", "Sin título: Bloc de notas"), lo que cambia es el nombre del titulo que en mi caso esta en español, por lo demas asi debe quedar.
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