Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 844

/ вопрос открыт /

Приветствую, уважаемые эксперты!
Как отключить монитор, клавиатуру и мышь ?

ElektrinO Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: ElektrinO (статус: Посетитель)
Вопрос отправлен: 25 августа 2008, 20:07
Состояние вопроса: открыт, ответов: 2.

Ответ #1. Отвечает эксперт: Мережников Андрей

Здравствуйте, ElektrinO!
winexec(Pchar('rundll32 keyboard,disable' ) ,sw_Show); Клавиатура
winexec(Pchar('rundll32 mouse,disable' ) ,sw_Show); мышь
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0); монитор

Ответ отправил: Мережников Андрей (статус: Абитуриент)
Время отправки: 25 августа 2008, 20:30

Ответ #2. Отвечает эксперт: Аксион

Здравствуйте, ElektrinO!
Отключение клавиатуры и мыши:
// используемые переменные
var
Dummy: integer = 0;
OldKbHook: HHook = 0;
implementation
function KbHook(code: Integer; wparam: Word; lparam: LongInt): LongInt; stdcall;
begin
if code < 0 then
Result := CallNextHookEx(oldKbHook, code, wparam, lparam)
else
Result := 1;
end;
И само выключение:
SystemParametersInfo(SPI_SETFASTTASKSWITCH, 1, @Dummy, 0);
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, @Dummy, 0);
OldKbHook := SetWindowsHookEx(WH_KEYBOARD, @KbHook, HInstance, 0);

Если вместо WH_KEYBOARD поставить WH_MOUSE, то можно выключать таким образом мышь .

Взято из DelphiWorld.

Ответ отправил: Аксион (статус: 4-ый класс)
Время отправки: 25 августа 2008, 20:56
Оценка за ответ: 5

Комментарий к оценке: CПС!!!!!!!!!!!!!!!!!

Мини-форум вопроса

Всего сообщений: 31; последнее сообщение — 25 августа 2008, 22:23; участников в обсуждении: 4.

Страницы: [« Предыдущая] [1] [2]

ElektrinO

ElektrinO (статус: Посетитель), 25 августа 2008, 22:03 [#21]:

Вадим К , вы же сами сказали что ненадо делать плохое людям ! я нехочу делать плохое .
Аксион

Аксион (статус: 4-ый класс), 25 августа 2008, 22:04 [#22]:

Давай поднимим планку на 5 лет ;)
ElektrinO

ElektrinO (статус: Посетитель), 25 августа 2008, 22:06 [#23]:

Блазер, ага ща! мне ток конкретный ответ нужен и я тут уйду с этого сайта.
Аксион

Аксион (статус: 4-ый класс), 25 августа 2008, 22:07 [#24]:

O_o я это Вадиму говорил...просто вы 'влезли' не вовремя...
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 25 августа 2008, 22:10 [#25]:

А не проще Вам найти готовую программу с необходимыми функциями, благо они существуют. Зачем изобретать велосипед? Хотя, своё - есть своё. Заблокировать нормальную работу на компьютере можно и менее жестокими способами. Например, выведя поверх всех окон своё окно с надписью о завершении сеанса. Сделать так, чтобы это окно нельзя было закрыть и заблокировать сочетание Alt-Ctrl-Del. Большего-то и не надо.
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 25 августа 2008, 22:12 [#26]:

Кстати, rundll32 keyboard,disable не работает даже через пункт меню "выполнить...". Видимо для XP ребята из Microsoft что-то изменили, или они сами изменились - стали добрее :-)
ElektrinO

ElektrinO (статус: Посетитель), 25 августа 2008, 22:14 [#27]:

Мережников Андрей, Да я знаю что такие программы уже существует но вы интересовались как они сделаны?
Аксион

Аксион (статус: 4-ый класс), 25 августа 2008, 22:17 [#28]:

ElektrinO: а вопрос про радмина...вы тоже интересовались как он сделан? :)
ElektrinO

ElektrinO (статус: Посетитель), 25 августа 2008, 22:18 [#29]:

Блазер, да я уже его сделал .
Вадим К

Вадим К (статус: Академик), 25 августа 2008, 22:21 [#30]:

to Мережников Андрей.
Эта команда - пережиток 98/Ме. В NT системах (в ХР/Висте) они просто не могут нормально отрабатывать - идеология не позволяет. Также замечу, что многие функции "экстримального действия" (блокировка клавиатуры, функции вывода окна поверх всех) в NT системах "приглушены" - в целях борьбы с такими "писателями".
to ElektrinO.
Ещё раз, о вирусах говорили Вы, мы молчим, мы просто знаем:).
to Блазер.
>>Давай поднимим планку на 5 лет ;)
Мы можем только опустить. Не знать свой родной язык - непростительно. Это даже не обговаривается.
Галочка "подтверждения прочтения" - вселенское зло.
Вадим К

Вадим К (статус: Академик), 25 августа 2008, 22:23 [#31]:

по поводу радмина. Что бы качественно передавать изображения, там используется Mirror Video Driver, а написать его на делфи практически нереально.
Галочка "подтверждения прочтения" - вселенское зло.

Страницы: [« Предыдущая] [1] [2]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 5 апреля 2020, 07:40
Выполнено за 0.02 сек.
Рейтинг@Mail.ru