Como saber se a tecla Caps Lock está ativada, usando linguagem C?
Não dá pra fazer ` if (GetAsyncKeyState(VK_CAPITAL) == -32768){
}` porque isso só vai retonar verdadeiro se a tecla estiver sendo pressionada, preciso de alguma forma de descobrir se a tecla CAPS LOCK está ativa.
Agradeço desde já.
No Windows, você pode usar a função GetKeyState. Mas você precisa fazer uma comparação de bits, não do valor retornado pela função (que indica se a tecla está pressionada, como você mesmo reparou). Tente:
if ((GetKeyState(VK_CAPITAL) & 0x0001)!=0)
//capslock está ativa
else
//capslock está inativa
Vi em: https://vcpptips.wordpress.com/2009/01/19/how-to-check-the-caps-lock-is-on-or-off/
Documentação de GetKeyState: https://msdn.microsoft.com/en-us/library/ms646301(VS.85).aspx
Abraço
Perfeito fera. Havia encontrado a mesma resposta em um site gringo. Vlw