Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Delphi: Общие вопросы > Блокировка клавиатуры и мыши


Автор: krivenia 29.12.01, 20:18
Народ! Помогите, ПЛЗ... Может кто знает как можно заблокировать клавиатуру и мышку?
Мне нужн, чтобы в определённое время стали не доступны ни клавиатура ни мышь, как это реализовать?

Автор: krivenia 30.12.01, 19:43
Я знаю, что нужно заблокировать прерывания IRQ1 (клава) и IRQ12 (мышь), но как это сделать в Дельфи?
Заранее благодарю... И с Новым Годом! \%)))

Автор: hlod 31.12.01, 07:13
function BlockInput(fBlockIt:LongBool):LongBool; stdcall; external 'USER32.DLL';
fBlockIt- 0 - off
1 - on

Автор: krivenia 04.01.01, 19:04
ОК! Клёво! Но....
Во-первых: эта функция есть в Win98 и выше и нет её в NT, и ко всему прочему прерывания восстанавливаются после нажатия любимой комбинации Ctrl+Alt+Del... И что в этом случае делать?

Автор: ad_tolya 04.01.01, 22:15
Как это нет в NT?
Вот так она описана в MSDN...
BOOL BlockInput(
BOOL fBlockIt // block option
);
Импортируй из USER32.DLL
А с cntr+alt+del нужно бороться перводом GDI в режим скриин сейвера.. Где то доку потерял по этому пример привести не могу.. Но работает... :)))

Автор: krivenia 12.01.01, 08:38
Вот именно в библиотеке USER32.dll в NT и нет такой функции, да и перевод GDI в режим скринсейвера в NT тоже отключён...
В 9х - пожалуйста:
SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,NIL,0);
- для включения;
SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,NIL,0);
- для выключения.

Автор: repairman 15.01.01, 12:11
Сходи на
http://www.sysinternals.com/win9x/98source.shtml
Там исходники лежат, с очень похожим назначением, правда либо Ассемблер либо Си,
ну это не проблема, ежели знаком с ними, благо Делфи позволяет на Ассемблере писать также легко как на Паскале... ;-))
Делается это перехватом (hook) функций VxD, обслуживающих клаву и мышь...
Там, кстати полно всякого "шпионского" софта полезного, позволяющего перехватывать службы, хэндлы, порты, сетевые соединения.
Там я нашел программку для перехвата потока COM-порта... долго искал...

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)