Você está aqui: C# ::: Dicas & Truques ::: Mouse e Teclado |
Como testar o estado da tecla Caps LockQuantidade de visualizações: 9042 vezes |
Em algumas situações nós precisamos verificar o estado da tecla Caps Lock (fixa), ou seja, precisamos saber se ela está ou não ativada. Em C# isso pode ser feito de duas formas: 1) A forma mais simples, oferecida no .NET Framework a partir da versão 2.0; 2) Usando código não gerenciado (unmanaged code) e acessar a API do Windows (Win32 API). Vamos começar com a forma mais fácil, disponível no .NET Framework a partir da versão 2.0: private void button1_Click(object sender, EventArgs e){ // vamos verificar se a tecla Caps Lock está ativada if(Control.IsKeyLocked(Keys.CapsLock)){ MessageBox.Show("A tecla Caps Lock está ativada"); Aqui nós usamos o método IsKeyLocked() da classe Control e fornecemos como argumento a constante CapsLock, da enumeração Keys. A segunda forma consiste em usar código não gerenciado (unmanaged code) e acessar a API do Windows (Win32 API). Para isso devemos seguir os seguintes passos: a) Adicionar using System.Runtime.InteropServices; na seção de importações. b) Adicionar o código abaixo no corpo da classe, como um método: // Função com código não gerenciado que obtém o estado de uma // determinada tecla [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)] c) Adicione o código abaixo no evento Click de um botão: private void button1_Click(object sender, EventArgs e){ // vamos obter o estado da tecla Caps Lock como um boolean bool CapsLock = (((ushort)GetKeyState(0x14)) & 0xffff) != 0; // vamos verificar se a tecla Caps Lock está ativada if(CapsLock){ MessageBox.Show("A tecla Caps Lock está ativada"); |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |