Visual Basic - Teclado en Pantalla

Life is soft - evento anual de software empresarial
 
Vista:

Teclado en Pantalla

Publicado por Rodrigo (4 intervenciones) el 30/07/2008 14:21:52
Buenos días, me llamo Rodrigo Alonso Yela y soy un estudiante de Telecomunicaciones e Informática en Burgos.

Llevo más de un mes buscando a través de internet como hacer un teclado en pantalla para un proyecto de fin de curso.

Me dirijo a ustedes para preguntárles cuáles son las apis necesarias para que funcionen todas las teclas del teclado en todas las aplicaciones, tanto de Windows como otras.

He probado con la de sendmessage (WM_KEYDOWN, WM_CHAR, WM_KEYUP), pero no me escribe en todos los sitios.

Por ejemplo, en el bloc de notas, en access, en textbox de mis aplicaciones si que me escribe, pero en word, excell o grids de mis aplicaciones no.

Me gustaría que me dijesen cuales puedo utilizar para realizar esto, ya que en Internet no veo manera de hacerlo.

Muchas gracias por adelantado. =:-)

SALUDOS
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:Teclado en Pantalla

Publicado por m0skit0 (62 intervenciones) el 30/07/2008 15:38:06
¿Has probado con la función de API keyb_event()? Sintetiza una pulsación de tecla. La interrupción de teclado hace una llamada a esta función, así que supongo que no tiene que tener problemas puesto que sería totalmente como una pulsación de tecla real. De todas formas, ¿estás seguro de que utilizas bien sendmessage()? te debería de funcionar. Ya me cuentas.
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:Teclado en Pantalla

Publicado por Rodrigo (4 intervenciones) el 31/07/2008 12:31:43
Para que me funcione la keybd_event, necesito que la ventana en cuestión, en la que quiero escribir, tenga el foco, y ese es otro problema, como pulso sobre mi aplicación sin que coja el foco, para evitar estar cambiando continuamente de ventana activa, lo que queda muy feo y poco práctico.

Para la función de sendmessage, me funciona bien, lo que pasa es que no en todos los sitios me funiona correctamente, por ejemplo, tengo otra aplicación que tiene un grid editable, y cuando uso el teclado, me recoge el handle del grid, donde en ese momento esté el foco de teclado, pero cuando le mando las pulsaciones de tecla para que me las escriba, el grid las recibe, ya que le pongo un punto de parada en el key_down y llega con la tecla pulsada, pero no escribe.

Gracias por tu contestación.
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:Teclado en Pantalla

Publicado por m0skit0 (62 intervenciones) el 31/07/2008 13:26:54
Entonces a lo mejor te conviene más SendInput. ¿La has probado?
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:Teclado en Pantalla

Publicado por Rodrigo (4 intervenciones) el 31/07/2008 22:49:32
Pues la verdad esque no la he probado, pero miraré a ver como funciona para poder usarla, muchas gracias, y con lo que consiga con la misma os comento.

Muchas gracias m0skit0.
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:Teclado en Pantalla

Publicado por Rodrigo (4 intervenciones) el 11/08/2008 13:55:33
Pues la función de SendInput funciona muy bien, pero necesito tener el foco en la aplicación donde quiero escribir, por lo que la duda que se me plantea ahora es hacer que mi aplicacion no coja el foco cuando pulso en ella.

Que se pueda pulsar sobre los botones que tengo pero sin que coja el foco mi formulario, gracias de nuevo.
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