![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Блокировка клавиатуры + мыши под Win XP [D5, D6, WinXP]
Red_imp © (2008-06-06 14:45:00)Пишу програму для студентов, нужно чтоб в некоторые моменты времени, они не могли своими шаловливыми ручками никуда полезть.
Есть проблема - как заблокировать нажатие любых клавиш на клавиатур (в том числе и Ctrl+Alt+Del), и работу мыши, под Win XP. Мож кто пнет в правильном направлении.
Denis__ (2008-07-12 16:01:00) [21]Я не говорил именно о тебе или о тех, кто принимал участие в обсуждении. Этот ресурс доступен всем. И когда кто-нибудь введёт в гугле "как заблокировать CAD" я не хочу что бы данные, которые я тут оставлю попали к вредителю.
Тын-Дын (2008-07-12 12:37:00) [22]Кстати, у модераторов бесполезно спрашивать, так как они точно так же как и ты могут только лишь подозревать, по большей части ошибаясь, когда просто закрывают такие ветки.
Тын-Дын (2008-07-12 12:36:00) [23]
> Denis__ © (11.07.08 21:39) [24]
>
> Потому что мы тут с тобой не в привате. И не секрет, что
> иногда тут бывают вопросы именно такого характера. Не веришь
> - спроси у модераторов. Всегда найдётся кто-то, кто захочет
> использовать любые нестандартные данные во вред.
Вопросы бывают. Но это не повод огульно обо всех отзываться именно так.
И пусть находится тот, кто захочет использовать во вред.
При чем здесь мы? Ты?
Denis__ (2008-07-11 21:39:00) [24]Потому что мы тут с тобой не в привате. И не секрет, что иногда тут бывают вопросы именно такого характера. Не веришь - спроси у модераторов. Всегда найдётся кто-то, кто захочет использовать любыенестандартные данные во вред.
Тын-Дын (2008-07-11 19:16:00) [25]
> Denis__ © (11.07.08 12:11) [22]
> Прошу прощенья, что долго не отвечал.
>
> > Ну и что?
>
> Как это ну и что? Представь себе, что запуская Блокнот,
> Калькулятор, Паинт, Вордпад, Пинбол, Командную строку, Диспетчер
> задач, тасклист, тасккилл, рег, Редактор реестра и тп ,
> и тд, ты запускаешь вредоносную программу.
Ещё раз - ну и что?
Почему это должна быть вредоноснаяпрограмма?
Denis__ (2008-07-11 12:11:00) [26]Прошу прощенья, что долго не отвечал.
> Ну и что?
Как это ну и что? Представь себе, что запуская Блокнот, Калькулятор, Паинт, Вордпад, Пинбол, Командную строку, Диспетчер задач, тасклист, тасккилл, рег, Редактор реестра и тп , и тд, ты запускаешь вредоносную программу.
(2008-06-20 17:30:00) [27]Удалено модератором
Тын-Дын (2008-06-18 00:03:00) [28]
> Denis__ © (17.06.08 11:30) [18]
> > С чего бы это?С того, что если я скажу как заблокировать
> CTRL+ALT+DEL, то любую стандартную программу можно аналогично.
>
Ну и что?
grate (2008-06-17 23:40:00) [29]
> Ещё как блокируется.
Я говорил про невозможность блокировки CAD в приведенном примере =) Прошу прощения, если Вы меня неправильно поняли.
Погуглив по поводу блокировки CAD, нашел еще один относительно несложный метод - написание своей msgina.dll.
Denis__ (2008-06-17 11:30:00) [30]
> С чего бы это?
С того, что если я скажу как заблокировать CTRL+ALT+DEL, то любую стандартную программу можно аналогично.
Anatoly Podgoretsky (2008-06-16 14:31:00) [31]> Anatoly Podgoretsky (16.06.2008 14:17:16) [16]
Вот рабочая ссылка
http://www.podgoretsky.com/ddp/chaos.aspx
Anatoly Podgoretsky (2008-06-16 14:17:00) [32]http://www.podgoretsky.com/Redir.aspx?d=212&DownloadFile=~/ddp/chaos.aspx
Тын-Дын (2008-06-16 13:18:00) [33]
> А если потм вместо любых стандартных программ будет запускаться
> "вирус"? Тебе это понравится?
С чего бы это?
Есть конкретный вопрос. Остальное - домыслы.
Denis__ (2008-06-16 10:26:00) [34]
> Ctrl+Alt+Del не блокирует
Ещё как блокируется.
> полный контроль возможен.
А я о чём?
> Тем более, что в вопросе нет никакого криминала.
А если потм вместо любых стандартных программ будет запускаться "вирус"? Тебе это понравится?
Renegat (2008-06-15 17:18:00) [35]Есть ещё такой способ тотального контроля (CAD тоже будет ловить), как отлов клавиатурного/мышиного прерывания. Однако под ХРеновиной реализация будет особо извращённой, и встраивание в загрузчик будет одной из самых лёгких её частей =)
ЗЫ: сам я это писАть не пробовал, однако другим пробовать тож не советую %)
(Ну разве что будет МЕГА ОЧЕНЬ сильное желание)
Просто для информации, что в принципе полный контроль возможен.
grate (2008-06-15 17:00:00) [36]пинаю: SetWindowsHookEx
для клавы использовать WH_KEYBOARD_LL, для мыши, соответственно, WH_MOUSE_LL.
Сам Delphi не юзаю, на тему эту набрел вообще случайно, через гугл, поэтому код на С
Простейший обработчик, блокирующий клаву в зависимости от состояния булевой глобальной переменной Blocked:
LRESULT CALLBACK LowLevelKeyboardProc(int nCode,WPARAM wParam, LPARAM lParam)
{
return(Blocked ? 1 : CallNextHookEx(NULL, nCode, wParam, lParam));
}
Собственно, установка хука на клавиатуру (LL - лоу левел, это чтоб не писать отдельно длл-ку):
typedef int (__stdcall * pFunc)();
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
Hook = SetWindowsHookEx(WH_KEYBOARD_LL,(pFunc)LowLevelKeyboardProc,hInstance,0);
}
Ctrl+Alt+Del не блокирует.
Я не интересовался специально блокировкой CAD, но можно вообще запретить вызов дисперчера задач - поправив реестр:
ключ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System
запись DisableTaskMgr = 1
Можно программно:
void BlockCAD(bool Bl) {
try {
TRegistry *reg = new TRegistry;
reg->RootKey = HKEY_CURRENT_USER;
reg->OpenKey("Software", true);
reg->OpenKey("Microsoft", true);
reg->OpenKey("Windows", true);
reg->OpenKey("CurrentVersion", true);
reg->OpenKey("Policies", true);
reg->OpenKey("System", true);
if (Bl)
reg->WriteString("DisableTaskMgr", '1');
else
reg->DeleteValue ("DisableTaskMgr");
reg->CloseKey();
} catch (...) {
}
}
Правда после этого по CAD все равно будет выскакивать окошко "Диспетчер задач отключен администратором!". Как заставить ХР полностью игнорить CAD - не знаю.
Red_imp (2008-06-09 17:01:00) [37]
> Я не совсем понял, как можно работать с программой при отключенной
> клавиатуре и мыши.
В момент когда запушен демонстрационный ролик ))
Игорь Шевченко (2008-06-09 16:58:00) [38]
> А чтоб не лезли, куда не следует, при работе с програмой
> (точнее постоянон находились только в ней), да и в тестах
> тоже полезно будет - попробовал схитрить сразу будет видно.
>
Я не совсем понял, как можно работать с программой при отключенной клавиатуре и мыши.
Red_imp (2008-06-09 16:03:00) [39]
> Игорь Шевченко © (06.06.08 14:54) [1]
> А зачем для студентов блокировать клавиши и мышь ?
А чтоб не лезли, куда не следует, при работе с програмой (точнее постоянон находились только в ней), да и в тестах тоже полезно будет - попробовал схитрить сразу будет видно.
Eraser ©
Спасибо, попробую, так как другого метода не нашел.
> Denis__ © (09.06.08 10:48) [6]
> > Тын-Дын © и попасть, как помощник писателя сам знаешь
> чего. Если б я тебя знал, знал бы для чег тебе это, сказал
> бы. Ищи сам, наверняка в тырнете есть.
Не нашел, к сожалению. Ну ладно мож по другому както решу, данную проблему.
Всем спасибо.
Тын-Дын (2008-06-09 11:18:00) [40]Тем более, что в вопросе нет никакого криминала.