|
Вопрос # 817/ вопрос открыт / |
|
Вопрос такой: возможно ли из delphi заблокировать компьютер с ОС windows xp, а именно заблокировать клавиатуру и мышь. Чтобы пользователь немог никак ее разблокировать, никакими комбинациями клавиш...
А потом, в определенное время так же программно разблокировать компьютер. Буду рад любой помощи по етому вопросу, заранее спасибо.
Ответ #1. Отвечает эксперт: Feniks
Здравствуйте, Chyenko Ruslan Alexsandrovich!
Попробуйте эти примеры:
1) WinExec(PChar(\'ABCD\'), SW_Show);
- где \'ABCD\' - одна из следующих команд
"rundll32 keyboard,disable" - Заблокировать Клавиатуру
"rundll32 mouse,disable" - Запретить мышку
2) Включение/Выключение режим Ctrl-Alt-Del
// Включение режима
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, 0, 0);
// Выключение режима
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, 0, 0);
 |
Ответ отправил: Feniks (статус: Бакалавр)
Время отправки: 2 августа 2007, 12:19
Оценка за ответ: 4
Комментарий к оценке: 1) WinExec(PChar(\'ABCD\'), SW_Show);
- где \'ABCD\' - одна из следующих команд
"rundll32 keyboard,disable" - Заблокировать Клавиатуру
"rundll32 mouse,disable" - Запретить мышку
-------------------------
на сколько я знаю етими способами блокируется все разаво, т.е. разблокировать уже нельзя, толь ко перезагрузив компьютер...
А вот ето:
// Включение режима
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, 0, 0);
// Выключение режима
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, 0, 0);
неработает, диспетчер не блокируется (пробовал на XP sp2)
|
Мини-форум вопроса
Всего сообщений: 5; последнее сообщение — 2 августа 2007, 12:59; участников в обсуждении: 2.
|
Вадим К (статус: Академик), 2 августа 2007, 11:10 [#1]:
Можно, перерубив провода мыши и клавиатуры. А иначе с UserMode (А делфи позволяет писать приложения только для него) никак нормально заблокировать нельзя. Не помогут даже хуки, так как святая троица клавиш обрабатывается на более низком уровне.
Изучив написание драйверов, можно написать драйвер-фильтр и блокировать данные от нужных устройств, но это уже поле деятельности С++
И назвите цель, для чего вы блокировать клавиатуру и мышь собрались. Не для ограничения времени работы пользователя? Ибо другие все цели, известные мне, преступны. Но даже так, пользователь делает документ, хочет сохранить, а вы подрезали на подлёте.
P.S. Когда я работал на кафердре и у меня была проблема с тем, как выгнать засидевшихся студентов с машин, я решил просто. Я объявлял, что осталось несколько минут. потом приходил и нажимал ресет(не отпуская). Комп при этом ещё не перегружается, но если отпустить - то процесс пойдёт. потом говорю, что палец не железный и долго держать не выдержу. всего приходилось в месяц перегружать жестоко 3-4 машини (менее 10% от общего кол-ва).
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Chyenko Ruslan Alexsandrovich (статус: Посетитель), 2 августа 2007, 12:17 [#2]:
За разьяснение спасиба, теперь буду знать в каком направлении мне идти... Цель вы угадали правильно "для ограничения времени работы пользователя", писал программу для администрирования интернет клуба, понадобилась данная функция, вот и пришел за помощью. с С++ дело не имел, поэтому если не затруднит подскажите где можна найти некие примеры или другие материалы, для решения моей проблемы.
|
|
Вадим К (статус: Академик), 2 августа 2007, 12:22 [#3]:
Качайте ddk с сайта microsoft.com и вижуалстудию, но она уже не безплатна.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Вадим К (статус: Академик), 2 августа 2007, 12:59 [#5]:
Врядли. МС не затачивала свой DDK под чужие компиляторы.
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|