Teclado

Como puedo hacer que el numlock de mi teclado siempre este activo? Gracias
Respuesta
1
procedure SetNumLockOn;
var
KeyState: TKeyBoardState;
begin
GetKeyboardState(KeyState);
if GetKeyState(VK_NUMLOCK) = 0 then begin
KeyState[VK_NUMLOCK] := 1;
SetKeyboardState(KeyState);
end;
end;

1 respuesta más de otro experto

Respuesta
1
Con este procedimiento podes encender y apagar el num lock, caps lock y scroll lock:
type
TKeyType = (ktCapsLock, ktNumLock, ktScrollLock);
procedure SetLedState(KeyCode: TKeyType; bOn: Boolean);
var
KBState: TKeyboardState;
Code: Byte;
begin
case KeyCode of
ktScrollLock: Code := VK_SCROLL;
ktCapsLock: Code := VK_CAPITAL;
ktNumLock: Code := VK_NUMLOCK;
end;
GetKeyboardState(KBState);
if (Win32Platform = VER_PLATFORM_WIN32_NT) then
begin
if Boolean(KBState[Code]) <> bOn then
begin
keybd_event(Code,
MapVirtualKey(Code, 0),
KEYEVENTF_EXTENDEDKEY,
0);
keybd_event(Code,
MapVirtualKey(Code, 0),
KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,
0);
end;
end
else
begin
KBState[Code] := Ord(bOn);
SetKeyboardState(KBState);
end;
end;
tenes que llamarlo asi:
SetLedState(ktCapsLock, True); // CapsLock on
o:
SetLedState(ktNumLock, True); // NumLock on
o:
SetLedState(ktScrollLock, True); // ScrollLock on
cualquier duda avisame.
German.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas