-
Пишу програму для студентов, нужно чтоб в некоторые моменты времени, они не могли своими шаловливыми ручками никуда полезть. Есть проблема - как заблокировать нажатие любых клавиш на клавиатур (в том числе и Ctrl+Alt+Del), и работу мыши, под Win XP. Мож кто пнет в правильном направлении.
-
А зачем для студентов блокировать клавиши и мышь ?
-
> Red_imp (06.06.2008 14:45:00) [0]
Только попробуй, поймают и изобьют, заодно мышку и клавиатуру разломают.
-
> в том числе и Ctrl+Alt+Del
для XP - написать GINA, для висты - драйвер, только потом не забыть подписать его у MS.
-
> > в том числе и Ctrl+Alt+Del > > для XP - написать GINA, для висты - драйвер, только потом > не забыть подписать его у MS.
Всё намного проще...
-
> Denis__ © (08.06.08 11:29) [4] > > > в том числе и Ctrl+Alt+Del> > для XP - написать GINA, > для висты - драйвер, только потом > не забыть подписать > его у MS.Всё намного проще...
Ну так ответь, раз всё проще...
-
> Тын-Дын ©
и попасть, как помощник писателя сам знаешь чего. Если б я тебя знал, знал бы для чег тебе это, сказал бы. Ищи сам, наверняка в тырнете есть.
-
> Denis__ © (09.06.08 10:48) [6] > > > Тын-Дын © > > и попасть, как помощник писателя сам знаешь чего. Если б > я тебя знал, знал бы для чег тебе это, сказал бы. Ищи сам, > наверняка в тырнете есть.
Гнилая отмазка.
-
Тем более, что в вопросе нет никакого криминала.
-
> Игорь Шевченко © (06.06.08 14:54) [1] > А зачем для студентов блокировать клавиши и мышь ?
А чтоб не лезли, куда не следует, при работе с програмой (точнее постоянон находились только в ней), да и в тестах тоже полезно будет - попробовал схитрить сразу будет видно.
Eraser ©
Спасибо, попробую, так как другого метода не нашел.
> Denis__ © (09.06.08 10:48) [6] > > Тын-Дын © и попасть, как помощник писателя сам знаешь > чего. Если б я тебя знал, знал бы для чег тебе это, сказал > бы. Ищи сам, наверняка в тырнете есть.
Не нашел, к сожалению. Ну ладно мож по другому както решу, данную проблему. Всем спасибо.
-
> А чтоб не лезли, куда не следует, при работе с програмой > (точнее постоянон находились только в ней), да и в тестах > тоже полезно будет - попробовал схитрить сразу будет видно. >
Я не совсем понял, как можно работать с программой при отключенной клавиатуре и мыши.
-
> Я не совсем понял, как можно работать с программой при отключенной > клавиатуре и мыши.
В момент когда запушен демонстрационный ролик ))
-
пинаю: SetWindowsHookEx для клавы использовать WH_KEYBOARD_LL, для мыши, соответственно, WH_MOUSE_LL. Сам Delphi не юзаю, на тему эту набрел вообще случайно, через гугл, поэтому код на С Простейший обработчик, блокирующий клаву в зависимости от состояния булевой глобальной переменной Blocked:
LRESULT CALLBACK LowLevelKeyboardProc(int nCode,WPARAM wParam, LPARAM lParam)
Собственно, установка хука на клавиатуру (LL - лоу левел, это чтоб не писать отдельно длл-ку):
typedef int (__stdcall * pFunc)();
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
Ctrl+Alt+Del не блокирует. Я не интересовался специально блокировкой CAD, но можно вообще запретить вызов дисперчера задач - поправив реестр: ключ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System запись DisableTaskMgr = 1 Можно программно:
void BlockCAD(bool Bl) catch (...)
}
Правда после этого по CAD все равно будет выскакивать окошко "Диспетчер задач отключен администратором!". Как заставить ХР полностью игнорить CAD - не знаю.
-
Есть ещё такой способ тотального контроля (CAD тоже будет ловить), как отлов клавиатурного/мышиного прерывания. Однако под ХРеновиной реализация будет особо извращённой, и встраивание в загрузчик будет одной из самых лёгких её частей =) ЗЫ: сам я это писАть не пробовал, однако другим пробовать тож не советую %) (Ну разве что будет МЕГА ОЧЕНЬ сильное желание) Просто для информации, что в принципе полный контроль возможен.
-
> Ctrl+Alt+Del не блокирует
Ещё как блокируется.
> полный контроль возможен.
А я о чём? > Тем более, что в вопросе нет никакого криминала.
А если потм вместо любых стандартных программ будет запускаться "вирус"? Тебе это понравится?
-
> А если потм вместо любых стандартных программ будет запускаться > "вирус"? Тебе это понравится?
С чего бы это? Есть конкретный вопрос. Остальное - домыслы.
-
-
-
> С чего бы это?
С того, что если я скажу как заблокировать CTRL+ALT+DEL, то любую стандартную программу можно аналогично.
-
> Ещё как блокируется.
Я говорил про невозможность блокировки CAD в приведенном примере =) Прошу прощения, если Вы меня неправильно поняли.
Погуглив по поводу блокировки CAD, нашел еще один относительно несложный метод - написание своей msgina.dll.
|