Code: |
VAR KS: TKeyboardState; begin GetKeyboardState(KS); KS[020] := KS[020] XOR 1; //Caps Lock KS[144] := KS[144] XOR 1; //Num Lock KS[145] := KS[145] XOR 1; //Scroll Lock SetKeyboardState(KS); end; |
Во-первых, предложенный способ работает только под 9x (лично проверил)...
Во-вторых, для понятности лучше вместо цифр подставить нормальные константы...
В-третьих, тут еще способ и для NT...
Способ для 9x (на NT не работает):
Code: |
var {©Drkb v.3}
KeyState : TKeyboardState; begin GetKeyboardState(KeyState); KeyState[VK_SCROLL] := KeyState[VK_SCROLL] xor 1; KeyState[VK_CAPITAL] := KeyState[VK_CAPITAL] xor 1; KeyState[VK_NUMLOCK] := KeyState[VK_NUMLOCK] xor 1; SetKeyboardState (KeyState); end;
Способ для NT (на 9x не работает): begin keybd_event (VK_SCROLL, 0, KEYEVENTF_EXTENDEDKEY, 0); keybd_event (VK_SCROLL, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
keybd_event (VK_CAPITAL, 0, KEYEVENTF_EXTENDEDKEY, 0); keybd_event (VK_CAPITAL, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
keybd_event (VK_NUMLOCK, 0, KEYEVENTF_EXTENDEDKEY, 0); keybd_event (VK_NUMLOCK, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0); end; |
- Назад
- Вперёд >>
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!