Mega Code Archive

 
Categories / Delphi / Hardware
 

How to turn onoff CapsNumScroll Lock

Title: How to turn on/off Caps/Num/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; Usage Examples: procedure TForm1.Button1Click(Sender: TObject); begin SetLedState(ktCapsLock, True); // CapsLock on SetLedState(ktNumLock, True); // NumLock on SetLedState(ktScrollLock, True); // ScrollLock on end;