Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Event Structure Teclado

Hola 

 

Cuando coloco un Event Structure para que capture los eventos del teclado este solo funciona cuando el VI esta visible,

 

¿Es posible que event structure capture los eventos cuando el vi este minimizado?

 

Gracias

 

Antonio Garcia Olais 

0 kudos
Mensaje 1 de 7
4.649 Vistas

In all Windows applications, the active windows is the one listening to events. If you open a MS Word window and press Ctrl-C while the window is active and some text selected, this text will be copied to the Notepad. However, if you switch to a different window, for example the desktop, the whatever is selected on the desktop will be copied. So as you can see you need to have the VI as the active windows in order for this to listen to events.

Salvador Mikel
National Instruments
Ingeniería de Aplicaciones
www.ni.com/soporte
0 kudos
Mensaje 2 de 7
4.635 Vistas

Hola,

 

Continué investigando sobre tu caso y con el apoyo de becega, encontré que es posible escuchar eventos del teclado sin importar que ventana está activa utilizando el user32.dll.

 

Básicamente, si se carga este dll en LabVIEW, se puede lograr que tu VI escuche cualquier evento sin importar si el VI es la ventana activa o no. Hay dos funciones incluidas dentro del dll que pueden serte útiles: 

- GetKeyState: regresa un valor dependiendo de si la tecla ha sido presionada, sin importar el momento.

- GetASyncKeyState: regresa un valor dependiendo de si la tecla esta presionada en el instante en que se lleva a cabo la lectura.

 

Anexo un VI con un ejemplo de aplicación de ambas funciones. Es importante que verifiques que el Path de la Biblioteca sea el correcto para tu máquina (ver imagen FunctionPath.jpg)

 

 

 

 

 

Espero esta información te sea útil.

Salvador Mikel
National Instruments
Ingeniería de Aplicaciones
www.ni.com/soporte
Descargar todos
0 kudos
Mensaje 3 de 7
4.621 Vistas

Casi olvido incluir el link a la tabla para los códigos ASCII para los caracteres del teclado. La entrada nVirtKey del VI es el código ASCII del caracter deseado en número decimal.

 

El link a la tabla es el siguiente: http://www.asciitable.com/

 

Para el caso del ejemplo, la entrada es 49, el código ASCII para el número 1 del teclado.

Salvador Mikel
National Instruments
Ingeniería de Aplicaciones
www.ni.com/soporte
0 kudos
Mensaje 4 de 7
4.619 Vistas

Buenas tardes smikel:

Podrias enviar el vi para la version 8.0 (es la que utilizo).

Lo que basicamente deseo hacer es que al presionar la tecla "ESCAPE" se me ejecute un VI determinado.

 

Esperando tu ayuda,

0 kudos
Mensaje 5 de 7
4.412 Vistas

 Hola Novata,

 

Anexo VI que te permitirá realizar justo la aplicación que deseas.

 

 

Salvador Mikel
National Instruments
Ingeniería de Aplicaciones
www.ni.com/soporte
0 kudos
Mensaje 6 de 7
4.266 Vistas

Hola a todos

yo quiero hacer algo parecido pero al reves, tengo un teclado virtual con el cual quiero escribir en cualquier aplicación, esto ya funciona mi problema es que si pulso una tecla tengo que cambiar rapidamente a notepad por ejemplo, para que escriba mi letra tecleada y luego cambiar de nuevo a mi teclado virtual.
me gustaria que cada tecla que pulse se viera automaticamente en mi aplicaccion, asi como un teclado de pantalla tactil

saludos
Johana

0 kudos
Mensaje 7 de 7
3.729 Vistas