Tecnobyte Informática

Delphi - Teclado e Mouse

Como detectar o estado das teclas NumLock e CapsLock?

Inclua na seção uses: Windows

{ Esta função retorna true se a tecla informada estiver
  ligada. False em caso contrário }

function tbKeyIsOn(const Key: integer): boolean;
begin
  Result := GetKeyState(Key) and 1 > 0;
end;

{ Exemplo de uso: }

if tbKeyIsOn(VK_NUMLOCK) then
  { ... NumLock está ligada }
else
  { ... NumLock está desligada }

Observações

Qualquer tecla que possua os estados On/Off pode ser verificada. Basta, para isto, saber seu código. O código de CapsLock é VK_CAPITAL.