Содержание материала

Блокировка клавиатуры/мыши.

 

Родственная тема, поэтому помещена в этот же вопрос.

 

Итак, заблокировать можно хуком. Но в некоторых случаях можно обойтись и "малой кровью".

Вы можете использовать ф-ию BlockInput. Она живёт в user32.dll Также она блокирует одновременно и мышь.

 

Procedure BlockInput(ABlockInput : Boolean); stdcall; external 'USER32.DLL';

 

BlockInput(True); - заблокировать

 

BlockInput(False); - разблокировать

 

Однако имейте ввиду, что BlockInput() не заблокирует CAD. Кроме того, её работа блокируется по нажатию трёх пальцев.Для блокировки CAD в w9x, мы можем использовать режим скринсэйвера, в NT, увы никак.

Ф-ия BlockInput() явилась продолжением ф-ии EnableHardwareInput(), которая как мы знаем использовалась в 16-разрядных приложениях.

Кроме того, для блокировки, мы можем использовать некоторые недокументированные возможности, однако их недастаток в том, что обратно клавиатуру/мышь уже включить нельзя:

 

"rundll32 keyboard,disable" - заблокироовать клавиатуру

"rundll32 mouse,disable" - заблокировать мышь

 

Запустить эти команды мы можем самое простое через ShellExecute() или WinExec():

ShellExecute(Application.Handle,'open','C:\Windows\Rundll32.exe',

'команда','C:\Windows',SW_HIDE);

 

 

Автор: Song

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить