TURBO PASCAL

Новости           

Программы

Turbo Pascal

Игры

Документация

"Странности"

FAQ

Ссылки

Благодарности

От автора

 

Q:> 2.4.1 Как узнать состояние клавиш Shift, Alt, Ctrl,
Num Lock, Caps Lock, Scroll Lock и искусственно переключать их?

A:> Состояние этих клавиш храниться в памяти по адресу 0:$417. Каждой из этих клавиш в байте по этому адресу соответствует свой бит. Следующие процедуры показывает как можно читать и изменять состояния клавиш

Type
TKeytype=(ktCaps, ktNum, ktScroll, ktCtrl, ktAlt, ktLShift,
ktRShift);

function GetLock(lock:TKeytype):Boolean;
var
b:byte;
begin
case lock of
ktCaps : b:=$40;
ktNum : b:=$20;
ktScroll : b:=$10;
ktCtrl : b:=$04;
ktAlt : b:=$08;
ktLShift : b:=$02;
ktRShift : b:=$01;
end;
if (mem[0:$417] and b)<>0 then GetLock:=true
else GetLock:=false;
end;

procedure SetLock(lock:TKeytype; On:Boolean);
var
b:byte;
begin
case lock of
ktCaps : b:=$40;
ktNum : b:=$20;
ktScroll : b:=$10;
ktCtrl : b:=$04;
ktAlt : b:=$08;
ktLShift : b:=$02;
ktRShift : b:=$01;
end;
if On then
mem[0:$417]:=mem[0:$417] or b
Else
mem[0:$417]:=mem[0:$417] and not b;
end;

На первую страницу
Rambler's Top100 Яндекс цитирования Rambler's Top100 PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросампрошу писать на электронный адрес

Hosted by uCoz