Usted pregunta… Eventos de teclado en VB .NET

Nuestro amigo Faisal, de Colombia, pregunta a través de Windows Live:

Hola . . .
Por favor me podrías ayudar con uno en VB2008 que me Active y Desactive la Tecla Windows, la tecla Alt * F4, la tecla Ctrl * Esc
Te agradecería q me ayudaras . . .
Abu Malik Faisal

Bueno, cuando estaba trabajando con REI tuve que investigar cómo realizar dichas acciones, ya que el programa requería que por ningún otro medio se pudiese acceder a los datos, exceptuado el lector de huellas digitales.

Obviamente, por si algún usuario malintencionado o descuidado realizara algunas combinaciones de teclas, REI debía interceptarlas y bloquearlas. La combinación de Alt+F4 (para cerrar las aplicaciones activas) es fácil utilizando un pequeño truco:

1.- Agregamos un Menú

2.- Establecemos un elemento de menú y le asignamos la combinación de teclas Alt+F4

3.- Hacemos el menú con la propiedad Visible a falso

4.- Ponemos en Falso las propiedades para maximizar y minimizar

5.- Por último, en la propiedad ControlBox la colocamos en Falso

Esto hará que la combinación de teclas propias para cerrar un programa no sean tomadas por Windows, sino por la aplicación que estamos elaborando. Ya en la combinación de teclas, podemos colocar el código que deseemos (un cuadro de diálogo, una advertencia o incluso otro formulario pidiendo un nombre de usuario y contraseña, por citar algunos ejemplos). Pueden descargar un pequeño programa con un ejemplo de ello en el Skydrive y en Megaupload, como ProyectoBloqueo.

En cuanto a las otras combinaciones, me temo que la cosa si se pone peliaguda. Dado que son combinaciones de teclas propias del sistema, Windows siempre las tomará en cuenta y aunque las hayamos establecido por código (utilizando los eventos KeyPress, KeyUp y KeyDown), Windows siempre aparecerá y nos mostrará el evento asociado.

Para solventar esto en REI, estuve buscando y buscando en la red hasta que hallé unos controles OCX que me permitían bloquear la barra de Inicio, el botón Inicio y otras cosas más. Desgraciadamente, si presionábamos la tecla Windows en el teclado, el menú Inicio aparecía de cualquier forma. Además, dichos OCX sólo funcionan correctamente en Windows XP para abajo y en VB clásico. Dichos controles están disponibles en el compendio Controles 3 en el Skydrive de programas completos, al igual que en Megaupload.

Espero haya sido de ayuda y gracias por leer Pechocho’s World.

Comentarios

Entradas más populares de este blog

Desarmando un teclado

Haciendo nodos de red

Diccionario visual del anime. Vol. 2