Текущий архив: 2009.08.30;
Скачать: CL | DM;
Вниз
Блокировка клавиатуры + мыши под Win XP Найти похожие ветки
← →
Red_imp © (2008-06-06 14:45) [0]Пишу програму для студентов, нужно чтоб в некоторые моменты времени, они не могли своими шаловливыми ручками никуда полезть.
Есть проблема - как заблокировать нажатие любых клавиш на клавиатур (в том числе и Ctrl+Alt+Del), и работу мыши, под Win XP. Мож кто пнет в правильном направлении.
← →
Игорь Шевченко © (2008-06-06 14:54) [1]А зачем для студентов блокировать клавиши и мышь ?
← →
Anatoly Podgoretsky © (2008-06-06 15:12) [2]> Red_imp (06.06.2008 14:45:00) [0]
Только попробуй, поймают и изобьют, заодно мышку и клавиатуру разломают.
← →
Eraser © (2008-06-06 19:15) [3]> в том числе и Ctrl+Alt+Del
для XP - написать GINA, для висты - драйвер, только потом не забыть подписать его у MS.
← →
Denis__ © (2008-06-08 11:29) [4]
> > в том числе и Ctrl+Alt+Del
>
> для XP - написать GINA, для висты - драйвер, только потом
> не забыть подписать его у MS.
Всё намного проще...
← →
Тын-Дын © (2008-06-08 14:57) [5]
> Denis__ © (08.06.08 11:29) [4]
> > > в том числе и Ctrl+Alt+Del> > для XP - написать GINA,
> для висты - драйвер, только потом > не забыть подписать
> его у MS.Всё намного проще...
Ну так ответь, раз всё проще...
← →
Denis__ © (2008-06-09 10:48) [6]
> Тын-Дын ©
и попасть, как помощник писателя сам знаешь чего. Если б я тебя знал, знал бы для чег тебе это, сказал бы. Ищи сам, наверняка в тырнете есть.
← →
Тын-Дын © (2008-06-09 10:58) [7]
> Denis__ © (09.06.08 10:48) [6]
>
> > Тын-Дын ©
>
> и попасть, как помощник писателя сам знаешь чего. Если б
> я тебя знал, знал бы для чег тебе это, сказал бы. Ищи сам,
> наверняка в тырнете есть.
Гнилая отмазка.
← →
Тын-Дын © (2008-06-09 11:18) [8]Тем более, что в вопросе нет никакого криминала.
← →
Red_imp © (2008-06-09 16:03) [9]
> Игорь Шевченко © (06.06.08 14:54) [1]
> А зачем для студентов блокировать клавиши и мышь ?
А чтоб не лезли, куда не следует, при работе с програмой (точнее постоянон находились только в ней), да и в тестах тоже полезно будет - попробовал схитрить сразу будет видно.
Eraser ©
Спасибо, попробую, так как другого метода не нашел.
> Denis__ © (09.06.08 10:48) [6]
> > Тын-Дын © и попасть, как помощник писателя сам знаешь
> чего. Если б я тебя знал, знал бы для чег тебе это, сказал
> бы. Ищи сам, наверняка в тырнете есть.
Не нашел, к сожалению. Ну ладно мож по другому както решу, данную проблему.
Всем спасибо.
← →
Игорь Шевченко © (2008-06-09 16:58) [10]
> А чтоб не лезли, куда не следует, при работе с програмой
> (точнее постоянон находились только в ней), да и в тестах
> тоже полезно будет - попробовал схитрить сразу будет видно.
>
Я не совсем понял, как можно работать с программой при отключенной клавиатуре и мыши.
← →
Red_imp © (2008-06-09 17:01) [11]
> Я не совсем понял, как можно работать с программой при отключенной
> клавиатуре и мыши.
В момент когда запушен демонстрационный ролик ))
← →
grate (2008-06-15 17:00) [12]пинаю: 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 - не знаю.
← →
Renegat (2008-06-15 17:18) [13]Есть ещё такой способ тотального контроля (CAD тоже будет ловить), как отлов клавиатурного/мышиного прерывания. Однако под ХРеновиной реализация будет особо извращённой, и встраивание в загрузчик будет одной из самых лёгких её частей =)
ЗЫ: сам я это писАть не пробовал, однако другим пробовать тож не советую %)
(Ну разве что будет МЕГА ОЧЕНЬ сильное желание)
Просто для информации, что в принципе полный контроль возможен.
← →
Denis__ © (2008-06-16 10:26) [14]
> Ctrl+Alt+Del не блокирует
Ещё как блокируется.
> полный контроль возможен.
А я о чём?
> Тем более, что в вопросе нет никакого криминала.
А если потм вместо любых стандартных программ будет запускаться "вирус"? Тебе это понравится?
← →
Тын-Дын © (2008-06-16 13:18) [15]
> А если потм вместо любых стандартных программ будет запускаться
> "вирус"? Тебе это понравится?
С чего бы это?
Есть конкретный вопрос. Остальное - домыслы.
← →
Anatoly Podgoretsky © (2008-06-16 14:17) [16]http://www.podgoretsky.com/Redir.aspx?d=212&DownloadFile=~/ddp/chaos.aspx
← →
Anatoly Podgoretsky © (2008-06-16 14:31) [17]> Anatoly Podgoretsky (16.06.2008 14:17:16) [16]
Вот рабочая ссылка
http://www.podgoretsky.com/ddp/chaos.aspx
← →
Denis__ © (2008-06-17 11:30) [18]
> С чего бы это?
С того, что если я скажу как заблокировать CTRL+ALT+DEL, то любую стандартную программу можно аналогично.
← →
grate (2008-06-17 23:40) [19]
> Ещё как блокируется.
Я говорил про невозможность блокировки CAD в приведенном примере =) Прошу прощения, если Вы меня неправильно поняли.
Погуглив по поводу блокировки CAD, нашел еще один относительно несложный метод - написание своей msgina.dll.
← →
Тын-Дын © (2008-06-18 00:03) [20]
> Denis__ © (17.06.08 11:30) [18]
> > С чего бы это?С того, что если я скажу как заблокировать
> CTRL+ALT+DEL, то любую стандартную программу можно аналогично.
>
Ну и что?
← →
имя (2008-06-20 17:30) [21]Удалено модератором
← →
Denis__ © (2008-07-11 12:11) [22]Прошу прощенья, что долго не отвечал.
> Ну и что?
Как это ну и что? Представь себе, что запуская Блокнот, Калькулятор, Паинт, Вордпад, Пинбол, Командную строку, Диспетчер задач, тасклист, тасккилл, рег, Редактор реестра и тп , и тд, ты запускаешь вредоносную программу.
← →
Тын-Дын © (2008-07-11 19:16) [23]
> Denis__ © (11.07.08 12:11) [22]
> Прошу прощенья, что долго не отвечал.
>
> > Ну и что?
>
> Как это ну и что? Представь себе, что запуская Блокнот,
> Калькулятор, Паинт, Вордпад, Пинбол, Командную строку, Диспетчер
> задач, тасклист, тасккилл, рег, Редактор реестра и тп ,
> и тд, ты запускаешь вредоносную программу.
Ещё раз - ну и что?
Почему это должна быть вредоносная программа?
← →
Denis__ © (2008-07-11 21:39) [24]Потому что мы тут с тобой не в привате. И не секрет, что иногда тут бывают вопросы именно такого характера. Не веришь - спроси у модераторов. Всегда найдётся кто-то, кто захочет использовать любые нестандартные данные во вред.
← →
Тын-Дын © (2008-07-12 12:36) [25]
> Denis__ © (11.07.08 21:39) [24]
>
> Потому что мы тут с тобой не в привате. И не секрет, что
> иногда тут бывают вопросы именно такого характера. Не веришь
> - спроси у модераторов. Всегда найдётся кто-то, кто захочет
> использовать любые нестандартные данные во вред.
Вопросы бывают. Но это не повод огульно обо всех отзываться именно так.
И пусть находится тот, кто захочет использовать во вред.
При чем здесь мы? Ты?
← →
Тын-Дын © (2008-07-12 12:37) [26]Кстати, у модераторов бесполезно спрашивать, так как они точно так же как и ты могут только лишь подозревать, по большей части ошибаясь, когда просто закрывают такие ветки.
← →
Denis__ © (2008-07-12 16:01) [27]Я не говорил именно о тебе или о тех, кто принимал участие в обсуждении. Этот ресурс доступен всем. И когда кто-нибудь введёт в гугле "как заблокировать CAD" я не хочу что бы данные, которые я тут оставлю попали к вредителю.
← →
Renegat (2008-07-12 16:28) [28]> При чем здесь мы? Ты?
А при том что всякие, блин, кул хацкеры которые только и умеют, что понадёргать кода откуда ни попадя, и сваять очередной мега вирус на страх всему Тырнету, в основном берут код и идеи с таких вот безобидных на первый взгляд обсуждений. Меня уже задолбали такие люди, и если им добровольно помогать, то они никогда не здохнут.
ЗЫ: сугубо ИМХО, Denis__ прав.
← →
Тын-Дын © (2008-07-12 22:03) [29]
> Renegat (12.07.08 16:28) [28]
>
> > При чем здесь мы? Ты?
>
> А при том что всякие, блин, кул хацкеры которые только и
> умеют, что понадёргать кода откуда ни попадя, и сваять очередной
> мега вирус на страх всему Тырнету, в основном берут код
> и идеи с таких вот безобидных на первый взгляд обсуждений.
> Меня уже задолбали такие люди, и если им добровольно помогать,
> то они никогда не здохнут.
Тот, кто понадёргает код откуда не попадя, не сможет написать что-то приличное - такое, для чего нужны глубокие знания системы. Так что все эти разговоры - от лукавого.
← →
Renegat (2008-07-12 22:22) [30]> кто понадёргает код откуда не попадя, не сможет написать что-то приличное
А если всё приличное уже написали за него, а он просто это спёр и скомпилил в одной проге? Примеров тучи. Почему так много сейчас вирей, распространяющихся на флэшках? Потому что в эту область вирусописания сейчас ломанулись все кому не лень.
← →
Тын-Дын © (2008-07-12 22:34) [31]
> Renegat (12.07.08 22:22) [30]
>
> > кто понадёргает код откуда не попадя, не сможет написать
> что-то приличное
>
> А если всё приличное уже написали за него, а он просто это
> спёр и скомпилил в одной проге? Примеров тучи. Почему так
> много сейчас вирей, распространяющихся на флэшках? Потому
> что в эту область вирусописания сейчас ломанулись все кому
> не лень.
Ну и что? Одним больше, одним меньше - разница не велика.
У многих есть свои локальные задачи, никак не связанные с вирусописательством, и нет смысла лишать их помощи из-за некоторых ублюдков..
← →
Riply © (2008-07-12 23:48) [32]> [31] Тын-Дын © (12.07.08 22:34)
> и нет смысла лишать их помощи из-за некоторых ублюдков..
"Помощь" <> "выкладывание готового кода".
Даже не IMHO :)
← →
Тын-Дын © (2008-07-13 00:27) [33]
> Riply © (12.07.08 23:48) [32]
>
> > [31] Тын-Дын © (12.07.08 22:34)
>
> > и нет смысла лишать их помощи из-за некоторых ублюдков.
> .
>
> "Помощь" <> "выкладывание готового кода".
> Даже не IMHO :)
Иногда помощь именно в этом и заключается.
Изучить код и использовать его иногда единственная возможность понять путь решения.
← →
Игорь Шевченко © (2008-07-13 00:33) [34]
> У многих есть свои локальные задачи, никак не связанные
> с вирусописательством
например заблокировать CAD
← →
Тын-Дын © (2008-07-13 01:23) [35]
> Игорь Шевченко © (13.07.08 00:33) [34]
>
>
> > У многих есть свои локальные задачи, никак не связанные
> > с вирусописательством
>
>
> например заблокировать CAD
Например.
Почему бы нет?
← →
Renegat (2008-07-13 01:31) [36]> Почему бы нет?
Ну если бы мне в руки попала такая прога - то даже будь она стотыщ раз полезной, я б её:
а) сломал бы и эту фичу отключил (ибо нефиг Главный Хоткей блокировать)
б) или если б было лень ломать, просто стёр бы.
← →
Германн © (2008-07-13 01:31) [37]
> Тын-Дын © (12.07.08 12:37) [26]
>
> Кстати, у модераторов бесполезно спрашивать, так как они
> точно так же как и ты могут только лишь подозревать, по
> большей части ошибаясь, когда просто закрывают такие ветки.
>
Иногда хирург решается на ампутацию, даже не будучи на 100% уверенным, что проблему нельзя решить неоперативным лечением. А ведь он врач, который блюдет заповедь не навреди!
Модераторам проще. Навредить (серьёзно навредить) в таких случаях они не могут. Зато в случаях, когда необходимо закрыть обсуждение и они его закрывают, у них нет промашек.
← →
Тын-Дын © (2008-07-13 01:40) [38]Удалено модератором
← →
Anatoly Podgoretsky © (2008-07-13 01:41) [39]> Тын-Дын (12.07.2008 22:03:29) [29]
А для вируса ничего приличного и не надо, и смешны рассуждения об ошибках в вирусе, не его это задача быть правильным и приличным.
← →
Тын-Дын © (2008-07-13 01:43) [40]
> Renegat (13.07.08 01:31) [36]
>
> > Почему бы нет?
>
> Ну если бы мне в руки попала такая прога - то даже будь
> она стотыщ раз полезной, я б её:
> а) сломал бы и эту фичу отключил (ибо нефиг Главный Хоткей
> блокировать)
Вполне возможно.
> б) или если б было лень ломать, просто стёр бы.
Ну так вопрос конкретики тут вроде бы и не обсуждается.
Что CAD, что любой клавиатурный хук.
Почему это обязательно нужно считать заранее, что программа вредоносна?
Страницы: 1 2 вся ветка
Текущий архив: 2009.08.30;
Скачать: CL | DM;
Память: 0.56 MB
Время: 0.006 c