Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[98.84.25.165] |
|
Сообщ.
#1
,
|
|
|
Народ! Помогите, ПЛЗ... Может кто знает как можно заблокировать клавиатуру и мышку?
Мне нужн, чтобы в определённое время стали не доступны ни клавиатура ни мышь, как это реализовать? |
Сообщ.
#2
,
|
|
|
Я знаю, что нужно заблокировать прерывания IRQ1 (клава) и IRQ12 (мышь), но как это сделать в Дельфи?
Заранее благодарю... И с Новым Годом! \%))) |
Сообщ.
#3
,
|
|
|
function BlockInput(fBlockIt:LongBool):LongBool; stdcall; external 'USER32.DLL';
fBlockIt- 0 - off 1 - on |
Сообщ.
#4
,
|
|
|
ОК! Клёво! Но....
Во-первых: эта функция есть в Win98 и выше и нет её в NT, и ко всему прочему прерывания восстанавливаются после нажатия любимой комбинации Ctrl+Alt+Del... И что в этом случае делать? |
Сообщ.
#5
,
|
|
|
Как это нет в NT?
Вот так она описана в MSDN... BOOL BlockInput( BOOL fBlockIt // block option ); Импортируй из USER32.DLL А с cntr+alt+del нужно бороться перводом GDI в режим скриин сейвера.. Где то доку потерял по этому пример привести не могу.. Но работает... )) |
Сообщ.
#6
,
|
|
|
Вот именно в библиотеке USER32.dll в NT и нет такой функции, да и перевод GDI в режим скринсейвера в NT тоже отключён...
В 9х - пожалуйста: SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,NIL,0); - для включения; SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,NIL,0); - для выключения. |
Сообщ.
#7
,
|
|
|
Сходи на
http://www.sysinternals.com/win9x/98source.shtml Там исходники лежат, с очень похожим назначением, правда либо Ассемблер либо Си, ну это не проблема, ежели знаком с ними, благо Делфи позволяет на Ассемблере писать также легко как на Паскале... ;-)) Делается это перехватом (hook) функций VxD, обслуживающих клаву и мышь... Там, кстати полно всякого "шпионского" софта полезного, позволяющего перехватывать службы, хэндлы, порты, сетевые соединения. Там я нашел программку для перехвата потока COM-порта... долго искал... |