La Web del Programador: Comunidad de Programadores
 
    Pregunta:  49330 - AVISO CUANDO ESTE ENCENDIDO EL CAPS LOOK
Autor:  mauricio bolivar
¿CUAL ES EL CÓDIGO PARA QUE UN FORMULARIO ME MUESTRE EL AVISO DE QUE LA TECLA BLOQ MAYUS ESTA ENCENDIDA?

  Respuesta:  Alfredo Juez
Ya se que esta contestado con anterioridad, pero me gustaría ampliar un poco el uso de la funcion que nos presentó nuestro compañero:

Public Function EstaEncendidaBloqMayus() As Boolean
' If (GetKeyState(Keys.CapsLock) = 1) Then
' Return True
' Else
' Return False
' End If
' o lo que es lo mismo...
Return GetKeyState(Keys.CapsLock)
End Function

Public Function EstaEncendidoBloqueNumerico() As Boolean
Return GetKeyState(Keys.NumLock)
End Function

Public Function EstaEncendidoBloqueDesplazamiento() As Boolean
Return GetKeyState(Keys.Scroll)
End Function

Un saludo a tod@s

  Respuesta:  Eider Mauricio Aristizábal Erazo
'Hola Tocayo,
'El código a continuación se realiza sobre un formulario vacio llamado
'Form1 insertale un boton y llama a la función EstaEncendidaBloqMayus
'a mi me funciona

Imports System.Runtime.InteropServices

Public Class Form1
<DllImport("user32.dll", ExactSpelling:=True)> _
Public Shared Function GetKeyState _
(ByVal nVirtKey As Integer) As Integer
End Function

'Bloq Mayús es la key número 20D
Public Function EstaEncendidaBloqMayus() As Boolean
If (GetKeyState(20) = 1) Then
Return True
Else
Return False
End If
End Function
End Class

'Espero te sirva.
'Saludos a todos!. desde Cali - Colombia