PDA

Ver la Versión Completa : Tecla Caps Lock


AryEl
20-10-2003, 20:42:18
hola a todos:

Necesito saber si hay alguna forma de saber si esta activa o no la tecla de caps lock, y en caso de no estarlo, como la activo ?? Gracias....

roman
20-10-2003, 21:21:45
Este par de funciones te pueden servir:


// Determina si está activa
function CapsOn: Boolean;
var
KeyState: Integer;

begin
KeyState := GetKeyState(VK_CAPITAL);
Result := (KeyState and $01) <> 0;
end;

// Intercambia entre acitiva e inactiva
procedure Toggle;
begin
Keybd_Event(VK_CAPITAL, 0, KEYEVENTF_EXTENDEDKEY, 0);
Keybd_Event(VK_CAPITAL, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
end;


Creo que no hay una forma directa de activarla o desactivarla, sólo de intercambiar el estado de manera que para activarla (sin desactivarla en el caso de que ya estuviera activa) tendrías que hacer:


if not CapsOn then Toggle;


// Saludos