home   |   А-Я   |   A-Z   |   меню


Информация о состоянии клавиатуры 

Я хотел бы узнать, при запуске моего приложения, нажата ли клавиша Ctrl. Просто хочется сделать, что-то вроде пароля.


О состоянии клавиатуры дают информацию следующие функции:

GetKeyState, GetAsyncKeyState, GetKeyboardState.

Чтобы упростить себе жизнь и не возиться с этими функциями снова и снова я написал маленькие функции:

function AltKeyDown : boolean;

begin

 result:=(Word(GetKeyState(VK_MENU)) and $8000)<>0;

end;

function CtrlKeyDown : boolean;

begin

 result:=(Word(GetKeyState(VK_CONTROL)) and $8000)<>0;

end;

function ShiftKeyDown : boolean;

begin

 result:=(Word(GetKeyState(VK_SHIFT)) and $8000)<>0;

end;

А заодно и для клавиш переключателей:

function CapsLock : boolean;

begin

 result:=(GetKeyState(VK_CAPITAL) and 1)<>0;

end;

function InsertOn : boolean;

begin

 result:=(GetKeyState(VK_INSERT) and 1)<>0;

end;

function NumLock : boolean;

begin

 result:=(GetKeyState(VK_NUMLOCK) and 1)<>0;

end;

function ScrollLock : boolean;

begin

 result:=(GetKeyState(VK_SCROLL) and 1)<>0;

end;


Как отловить нажатия клавиш для всех процессов в системе?  | Виртуальная библиотека Delphi | Управление питанием из программы на Delphi