home | login | register | DMCA | contacts | help |      
mobile | donate | ВЕСЕЛКА

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


my bookshelf | genres | recommend | rating of books | rating of authors | reviews | new | форум | collections | читалки | авторам | add
fantasy
space fantasy
fantasy is horrors
heroic
prose
  military
  child
  russian
detective
  action
  child
  ironical
  historical
  political
western
adventure
adventure (child)
child's stories
love
religion
antique
Scientific literature
biography
business
home pets
animals
art
history
computers
linguistics
mathematics
religion
home_garden
sport
technique
publicism
philosophy
chemistry
close

реклама - advertisement



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

Я хотел бы узнать, при запуске моего приложения, нажата ли клавиша 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