Mega Code Archive

 
Categories / Delphi / Hardware
 

Turn onoff CapsNumScroll Lock

Title: 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; // Example Call: // Beispielaufruf: procedure TForm1.Button1Click(Sender: TObject); begin SetLedState(ktCapsLock, True); // CapsLock on SetLedState(ktNumLock, True); // NumLock on SetLedState(ktScrollLock, True); // ScrollLock on end;