Você está aqui: C# ::: Dicas & Truques ::: Mouse e Teclado

Como ligar ou desligar a tecla Num Lock via programação usando C#

Quantidade de visualizações: 8197 vezes
Em algumas situações gostaríamos de forçar a tecla Num Lock, ou seja, mantê-la sempre ativada ou desativada. Isso pode ser feito via programação usando C# e a função keybd_event() da API do Windows (Win32 API).

Comece inserindo a linha abaixo na seção de importações de seu formulário:

using System.Runtime.InteropServices;

Em seguida insira o código abaixo no corpo da classe, como um método:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

[DllImport("user32.dll")]
static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,
  UIntPtr dwExtraInfo);


Finalmente coloque o código abaixo no clique de um botão:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button1_Click(object sender, EventArgs e){
  // vamos ligar a tecla Num Lock se ela estiver desligada.
  // se estiver ligada, vamos desligar
  const int KEYEVENTF_EXTENDEDKEY = 0x1;
  const int KEYEVENTF_KEYUP = 0x2;
  keybd_event(0x90, 0x45, KEYEVENTF_EXTENDEDKEY, (UIntPtr)0);
  keybd_event(0x90, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
    (UIntPtr)0);
}

Execute a aplicação e clique no botão. Você verá que se a tecla Num Lock estiver desligada o clique no botão a ativará. Se estiver ligada ela será desligada.

No entanto, pode haver situações nas quais a tecla Num Lock deverá ser ligada somente se ela estiver desligada. Para isso podemos usar código semelhante ao mostrado abaixo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button1_Click(object sender, EventArgs e){
  // vamos ligar a tecla Num Lock somente se ela estiver desligada
  const int KEYEVENTF_EXTENDEDKEY = 0x1;
  const int KEYEVENTF_KEYUP = 0x2;

  // vamos verificar se a tecla Num Lock está desligada
  if(!Control.IsKeyLocked(Keys.NumLock)){
    keybd_event(0x90, 0x45, KEYEVENTF_EXTENDEDKEY, (UIntPtr)0);
    keybd_event(0x90, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
      (UIntPtr)0);
  }
}


Link para compartilhar na Internet ou com seus amigos:

C# ::: Dicas & Truques ::: Arquivos e Diretórios

Como adicionar conteúdo ao final de um arquivo em C# usando as classes FileStream e StreamWriter

Quantidade de visualizações: 10160 vezes
Nesta dica mostro como usar as classes FileStream e StreamWriter para adicionar conteúdo a um arquivo já existente. Note que usamos o construtor de FileStream que aceita o caminho e nome do arquivo e o modo que ele será aberto. Ao fornecer o valor FileMode.Append nós estamos informando que, se o arquivo existir, mais conteúdo será adicionando ao seu final. Do contrário o arquivo é criado.

Já no construtor de StreamWriter nós estamos fornecendo a codificação dos caracteres, neste caso, UTF-8. Para finalizar, escrevemos no arquivo usando os métodos Write() e WriteLine() da classe StreamWriter.

Veja o código:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

static void Main(string[] args){
  // vamos criar uma instância de FileStream. Note que neste
  // construtor nós estamos informando o caminho e nome do
  // arquivo e o modo de abertura do arquivo. Se o arquivo já existir
  // o novo conteúdo é adicionado. Se não existir, o arquivo é criado
  FileStream fs = new FileStream("dados.txt", FileMode.Append);

  // já temos o FileStream? vamos fornecê-lo a um StreamWriter
  StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);

  // vamos escrever ou adicioar conteúdo no arquivo
  sw.WriteLine("Esta é mais uma linha");
  sw.Write("Hoje é: ");
  sw.WriteLine(DateTime.Now);
  sw.WriteLine("Esta é a última linha");
  
  sw.Flush();
  sw.Close();
  fs.Close();

  Console.WriteLine("Acabei de escrever no arquivo");
  Console.WriteLine("Pressione qualquer tecla para sair...");
  // pausa o programa
  Console.ReadKey();
}

Ao executar este código C# nós teremos o seguinte resultado:

Acabei de escrever no arquivo
Pressione qualquer tecla para sair...


C# ::: Dicas & Truques ::: Strings e Caracteres

Como testar se uma substring está contida no final de uma string C# usando o método EndsWith() da classe String

Quantidade de visualizações: 21 vezes
Em algumas situações nós precisamos verificar se uma palavra, frase ou texto termina com um caractere ou uma determinada substring. Para isso nós podemos usar o método EndsWith() da classe String da linguagem C#.

Veja o exemplo a seguir:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      string texto = "Gosto de programar em C#";

      if (texto.EndsWith("C#")) {
        Console.WriteLine("O texto termina com C#");
      }
      else {
        Console.WriteLine("O texto não termina com C#");
      }

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

Ao executar este código C# nós teremos o seguinte resultado:

O texto termina com C#


C# ::: Dicas & Truques ::: Data e Hora

Datas e horas em C# - Como obter o ano da data atual usando a classe Calendar do C#

Quantidade de visualizações: 1 vezes
Em algumas situações nós precisamos obter apenas o mês do ano da data atual ou para uma determinada data. Isso pode ser feito por meio de uma chamada ao método GetYear() da classe Calendar da linguagem C#.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;
using System.Globalization;

namespace Estudos{
  class Program{
    static void Main(string[] args) {
      DateTime agora = DateTime.Now;
      Calendar calendario = CultureInfo.InvariantCulture.Calendar;
      int ano = calendario.GetYear(agora);
      Console.WriteLine("Estamos no ano: {0}", ano);

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

Ao executar este código nós teremos o seguinte resultado:

Estamos no ano: 2021


Desafios, Exercícios e Algoritmos Resolvidos de C#

Veja mais Dicas e truques de C#

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 61 usuários muito felizes estudando em nosso site.