¿Cómo puedo saber si el bloqueo de mayúsculas está activado, utilizando VB.NET?¿Cómo obtengo el estado actual de Bloq Mayús en VB.NET?
Esto es una continuación de mi earlier question.
¿Cómo puedo saber si el bloqueo de mayúsculas está activado, utilizando VB.NET?¿Cómo obtengo el estado actual de Bloq Mayús en VB.NET?
Esto es una continuación de mi earlier question.
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.iskeylocked.aspx
Imports System
Imports System.Windows.Forms
Imports Microsoft.VisualBasic
Public Class CapsLockIndicator
Public Shared Sub Main()
if Control.IsKeyLocked(Keys.CapsLock) Then
MessageBox.Show("The Caps Lock key is ON.")
Else
MessageBox.Show("The Caps Lock key is OFF.")
End If
End Sub 'Main
End Class 'CapsLockIndicator
using System;
using System.Windows.Forms;
public class CapsLockIndicator
{
public static void Main()
{
if (Control.IsKeyLocked(Keys.CapsLock)) {
MessageBox.Show("The Caps Lock key is ON.");
}
else {
MessageBox.Show("The Caps Lock key is OFF.");
}
}
}
No soy un experto en VB.NET por lo que sólo PInvoke viene a la mente:
Declare Function GetKeyState Lib "user32"
Alias "GetKeyState" (ByValnVirtKey As Int32) As Int16
Private Const VK_CAPSLOCK = &H14
If GetKeyState(VK_CAPSLOCK) = 1 Then ...
crear un temporizador que se establece en 5 milisegundos y está habilitado. Luego crea una etiqueta llamada label1. Después, pruebe el siguiente código (en el temporizador).
Public Class Form1
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
If My.Computer.Keyboard.CapsLock = True Then
Label1.Text = "Caps Lock Enabled"
Else
Label1.Text = "Caps Lock Disabled"
End If
End Sub
End Class
La solución Publicado por .rp funciona, pero entra en conflicto con el controlador de eventos Me.KeyDown. Tengo un sub que llama a una función de inicio de sesión cuando se presiona enter. (mostrado a continuación) El estado My.Computer.Keyboard.CapsLock funciona y no entra en conflicto con Me.Keydown.
Private Sub WindowLogin_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If Keyboard.IsKeyDown(Key.Enter) Then
Call SignIn()
End If
End Sub