Saber si la tecla bloq mayus esta activada

28/07/2006 - 16:33 por Marco Elgueta | Informe spam
Hola a todos, como puedo saber si la opción de escritura en mayuscula esta
activada asi poder advertir al usuario con un mensaje. Es lo mismo que hace
el messenger cuando uno debe ingresar la clave. En resumen, saber si el BLOQ
MAYUS esta activada. Gracias de ante mano.

Preguntas similare

Leer las respuestas

#1 Patxi Sanz
28/07/2006 - 18:15 | Informe spam
Hola Marco:

Dispones de esa información en la clase Console:

If Console.CapsLock Then
MsgBox("Mayúsculas bloqueadas")
Else
MsgBox("Mayúsculas desbloqueadas")
End If

También dispones de la misma info en la clase
Microsoft.VisualBasic.Devices.Keyboard:

Dim x As New Microsoft.VisualBasic.Devices.Keyboard

If x.CapsLock Then
MsgBox("Mayúsculas bloqueadas")
Else
MsgBox("Mayúsculas desbloqueadas")
End If

Un saludo,


Patxi Sanz
patxisanz[ARROBA]yahoo[PUNTO]es
Tudela (NA)
Respuesta Responder a este mensaje
#2 SoftJaén
28/07/2006 - 18:46 | Informe spam
"Marco Elgueta" preguntó:

como puedo saber si la opción de escritura en mayuscula esta
activada asi poder advertir al usuario con un mensaje.



Hola, Marco:

Si utilizas Visual Basic 2005, puedes llamar al método «IsKeyLocked» de la
clase Control, que te devolverá un valor Boolean indicando el estado de una
tecla conmutadora:

If Control.IsKeyLocked(Keys.CapsLock) Then
MessageBox.Show("El bloque mayúscula está activado.")
Else
MessageBox.Show("El bloque mayúscula está desactivado.")
End If

También puedes utilizar el objeto My.Computer:

If My.Computer.Keyboard.CapsLock = True Then
MessageBox.Show("El bloque mayúscula está activado.")
Else
MessageBox.Show("El bloque mayúscula está desactivado.")
End If

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#3 Marco Elgueta
28/07/2006 - 19:26 | Informe spam
"SoftJaén" wrote:

"Marco Elgueta" preguntó:

> como puedo saber si la opción de escritura en mayuscula esta
> activada asi poder advertir al usuario con un mensaje.

Hola, Marco:

Si utilizas Visual Basic 2005, puedes llamar al método «IsKeyLocked» de la
clase Control, que te devolverá un valor Boolean indicando el estado de una
tecla conmutadora:

If Control.IsKeyLocked(Keys.CapsLock) Then
MessageBox.Show("El bloque mayúscula está activado.")
Else
MessageBox.Show("El bloque mayúscula está desactivado.")
End If

También puedes utilizar el objeto My.Computer:

If My.Computer.Keyboard.CapsLock = True Then
MessageBox.Show("El bloque mayúscula está activado.")
Else
MessageBox.Show("El bloque mayúscula está desactivado.")
End If

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.



Tengo VB.NET 2003 y copie los dos codigos pero en los dos me dice que el tipo no esta definido. Como lo puedo hacer???
Respuesta Responder a este mensaje
#4 SoftJaén
28/07/2006 - 20:12 | Informe spam
"Marco Elgueta" escribió:

Tengo VB.NET 2003 y copie los dos codigos pero en los dos
me dice que el tipo no esta definido. Como lo puedo hacer?



En Visual Basic 2003 tienes que recurrir al método tradicional: la API de
Windows.

Private Declare Auto Function GetKeyState Lib "user32" ( _
ByVal nVirtKey As Integer) As Integer

Ahora, en cualquier evento incluye lo siguiente:

Const VK_CAPITAL As Integer = &H14

' Comprobamos el estado de la tecla virtual perteneciente
' al bloque mayúscula.
Dim capsLock As Integer = GetKeyState(VK_CAPITAL)

' Si la función devuelve 1, significa que la tecla está
' encendida, y si devuelve 0 está apagada.
'
If capsLock = 0 Then
MessageBox.Show("El bloque mayúscula está desactivado.")
ElseIf capsLock = 1 Then
MessageBox.Show("El bloque mayúscula está activado.")
End If

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#5 Lord Voldemort
28/07/2006 - 20:22 | Informe spam
y si usas un textbox y le pones que vas a meterle password.. no tienes que
escribir nada.. el ya sabe y da ese mensaje que tu quieres dar..

"Marco Elgueta" wrote in message
news:
Hola a todos, como puedo saber si la opción de escritura en mayuscula esta
activada asi poder advertir al usuario con un mensaje. Es lo mismo que
hace
el messenger cuando uno debe ingresar la clave. En resumen, saber si el
BLOQ
MAYUS esta activada. Gracias de ante mano.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida