Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отрубить клаву, мышь и монитор. [D7, WinXP]


WELLiON ©   (2004-08-25 01:10:00) 

Можно ли это сделать силами винапи из-под ХР? Если можно, то не поделитесь ли Вы со мной секретом? Заранее благодарю.


Woolen   (2004-08-30 15:19:00) [1]


> Чтобы заблокировать клаву и мышу достаточно в проге ввести
> следующую команду: BlockInput True, а когда захотите вернуть
> обратно  - BlockInput False.
> но рекомендую для эксперимента пользоваться таймером на
> возврат, потому что после запуска этой функции ничего больше
> сделать с компом не удасться.

Удастся и еще как? Я делал с полгода назад такой блок. Работает то ли Ctrl + Alt + Delete, то ли Escape, то ли еще что-то, но чем-то эта штука сбрасывается. Сейчас пробовать не буду, но однозначно что-то есть...


Woolen   (2004-08-30 15:19:00) [2]


> Чтобы заблокировать клаву и мышу достаточно в проге ввести
> следующую команду: BlockInput True, а когда захотите вернуть
> обратно  - BlockInput False.
> но рекомендую для эксперимента пользоваться таймером на
> возврат, потому что после запуска этой функции ничего больше
> сделать с компом не удасться.

Удастся и еще как! Я делал с полгода назад такой блок. Работает то ли Ctrl + Alt + Delete, то ли Escape, то ли еще что-то, но чем-то эта штука сбрасывается. Сейчас пробовать не буду, но однозначно что-то есть...


Amoeba   (2004-08-26 18:20:00) [3]

Вот, нашел:
WinExec('rundll32 mouse,disable',1);
WinExec('rundll32 keyboard,disable',1);


Amoeba   (2004-08-26 18:14:00) [4]

По поводу клавиатуры, мыши и прочего была информация, если ничего не путаю, где-то так года 3 назад на http://www.delphikingdom.comв разделе "Круглый стол".


Brodyga   (2004-08-26 11:37:00) [5]

Есть апи функция, которая блокирует работу мыши и клавы:
"Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long"

Чтобы заблокировать клаву и мышу достаточно в проге ввести следующую команду: BlockInput True, а когда захотите вернуть обратно  - BlockInput False.
но рекомендую для эксперимента пользоваться таймером на возврат, потому что после запуска этой функции ничего больше сделать с компом не удасться. Например такой вариант:

private sub form_load()
timer1.interval = xxxxx
timer1.enabled = true
blockinput true
end sub

private sub timer1_timer()
blockinput false
end sub


WELLiON   (2004-08-25 18:48:00) [6]

Спасибо. Про монитор работает как часы, а клаву с мышью сейчас посмотрю.


FreeMan1   (2004-08-25 18:31:00) [7]

низкоуровневй хук на мышку и на монитор
http://ogoncharenko.narod.ru/DelphiMain/DelphiFaq/116.htm


WELLiON   (2004-08-25 17:32:00) [8]

А клаву с мышью? Хотя спасибо и за монитор.


Алхимик   (2004-08-25 01:22:00) [9]

Отрубают силами, вернее посредством топора. :)
//Погасить монитор:
SendMessage(Application->Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0);
//Перевести монитор в состояние Low Power:
SendMessage(Application->Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 1);
//Перевести монитор в состояние Power Off:
SendMessage(Application->Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
//Активировать монитор:
SendMessage(Application->Handle, WM_SYSCOMMAND, SC_MONITORPOWER, -1);


Наверх

Титульная страница Поиск, карта сайта Написать письмо