Включить или отключить Caps, Num или Scroll Lock

Советы » Клавиши » Включить или отключить 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

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com