Текущий архив: 2003.02.17;
Скачать: CL | DM;
ВнизВырубание клавиатуры Найти похожие ветки
← →
maxim2 (2002-12-17 13:38) [0]Привет всем!
Типа как будто шнур выдернули только программно.
← →
Song (2002-12-17 14:14) [1]Под W9x это возможно, под NT-шными лучше шнур выдёргивай.. :)
← →
Snake (2002-12-18 04:39) [2]Попробуй вот это:
var
Dummy : integer=0;
OldKbHook : HHook=0;
function KbHook( code: Integer; wparam: Word; lparam: LongInt ): LongInt; stdcall;
begin
if code<0 then Result:=CallNextHookEx( oldKbHook, code, wparam, lparam )
else Result:=1;
end;
// включение клавы
procedure TForm1.KeyBoardOn(Sender: TObject);
begin
if OldKbHook <> 0 then begin
UnHookWindowshookEx( OldKbHook );
OldKbHook := 0;
end;
SystemParametersInfo( SPI_SETFASTTASKSWITCH, 0, 0, 0);
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 0, 0, 0);
end;
// выключение клавы
procedure TForm1.KeyBoardOff(Sender: TObject);
begin
SystemParametersInfo( SPI_SETFASTTASKSWITCH, 1, @Dummy, 0);
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @Dummy, 0);
OldKbHook := SetWindowsHookEx( WH_KEYBOARD, @KbHook, HInstance, 0 );
end;
Правда, под NT это тоже работает, если память не изменяет.
Страницы: 1 вся ветка
Текущий архив: 2003.02.17;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.008 c