Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Блокировка и разблокировка клавы с мыхом [D5, D6, Win95/98, Win2k, WinXP]


Subdigger ©   (2002-11-27 00:51:00) 

Подскажите пожалуйста люди, как заблочить каву с мыхом и потом разблочить. Причём я пытался через BlockInput по совету некотторых товарищей, но она выдаёт какуюто глючную месагу типа Ассес виалатиорн гдето там и разблочить можно только подойдя к машине и нажав три заветные кнопки. А включить нужно удалённо??!!
За ранне благодарен


Subdigger   (2002-12-03 01:04:00) [1]

>>Song
Пасиба. Но я всё равно не доганяю как бы это его тупо застопорить нажатые кнопки.
Тупо повесить виндюк уже умею А вот шоб красиво поставить снять джак нет


TracKer   (2002-11-28 20:11:00) [2]

Hi!
Тут проблемка возникла. Дело в том, что после использования BlockInput при работе некоторых игр разблокировать ввод просто не получается, и приходитя перезапускать комп. Как с этим бороться?


esu   (2002-11-28 19:59:00) [3]

... А человек начинает громко кричать почему у него клавиатура не работает и в кваке подстрелили :)


dimich1978   (2002-11-28 14:50:00) [4]

>>Song
Да этот метод прокатывает тока под вин95\98, простым блокированием CAD, через systemparametersinfo


Song   (2002-11-28 13:10:00) [5]

...А потом нажимаем CAD.. блина.. где же нашв блокировка.. :-)


dimich1978   (2002-11-28 12:01:00) [6]

Объявляем
implementation

uses Unit2;

{$R *.DFM}

procedure BlockInput; external "user32.dll";

в теле процедуры
//блокируем
asm
push 1
call BlockInput
end;
end;
//разблокируем
asm
push 0
call BlockInput
end;


SeB   (2002-11-28 09:25:00) [7]

У меня программа-клиент блокирует компьютеры с помощью BlockInput,
и все работает отлично, никаких "Ассес виалатиорн". Программа-сервер управляет этим делом по сети. (Это не троян - это для компьютерных клубов). Работает во всех системах.


Ruf   (2002-11-27 18:51:00) [8]

ксати за такие примеры я этот сайт и люблю, тут их действительно полно, а BlockInput работает и в 98 и в ХР


Cu   (2002-11-27 09:46:00) [9]

Ты поищи, сдесь был приличный пример с хуками по мыху (ну и клаве тоже ) :-)


Song   (2002-11-27 09:38:00) [10]

Только SetWindowsHookEx()


subdigger   (2002-11-27 09:07:00) [11]

BoxTerВообще спасибо но ты не заметил одной тонкости. Мне нужно потом и отключить блокировку, что твои шелы почемуто не предусматривают...???...
И есть ещё один нуанс оно мусит работать под ХР


Кулюкин Олег   (2002-11-27 08:53:00) [12]

Выдернуть, а потом воткнуть обратно.


BoxTer   (2002-11-27 07:16:00) [13]

Можно использовать из приложения Дельфи с помощью следующей конструкции:
ShellExecute(Application.Handle,
Pchar("Open"),Pchar("C:\Windows\Rundll32.exe"),
Pchar(команда),
Pchar("C:\Windows"),SW_SHOWNORMAL);
где: команда - одна из перечисленных ниже
Например, выход из Windows без любых сообщений/вопросов:
ShellExecute(Application.Handle,
Pchar("Open"),Pchar("C:\Windows\Rundll32.exe"),
Pchar("krnl386.exe,exitkernel"),
Pchar("C:\Windows"),SW_SHOWNORMAL);

"rundll32 shell32,Control_RunDLL" - Выводит "Панель управления"
"rundll32 shell32,OpenAs_RunDLL" - Выводит окошко - "Открыть с помощью.."
"rundll32 shell32,ShellAboutA Info-Box" - Покозать окно "About Windows"
"rundll32 shell32,Control_RunDLL desk.cpl" - Открыть "Свойства Экрана"
"rundll32 user,cascadechildwindows" - Сортировка окон "Каскадом" (Как в Win 3.x)
"rundll32 user,tilechildwindows" - Сместить Окна в низ
"rundll32 user,repaintscreen" - Обновить рабочий стол
"rundll32 shell,shellexecute Explorer" - Запустить проводник Windows.
"rundll32 keyboard,disable" - Вырубить Клавиатуру! (Вот Это я понимаю Заподло!)
"rundll32 mouse,disable" - Вырубить Мышь! (У Шефа Будет припадок:)))
"rundll32 user,swapmousebutton" - Поменять Местами клавиши Мыша! (Во мля! и этого Дядя Билли не забыл!)
"rundll32 user,setcursorpos" - Сместить курсор крысы в левый верхний угол
"rundll32 user,wnetconnectdialog" - Вызвать окно "Подключение сетевого диска"
"rundll32 user,wnetdisconnectdialog" - Вызвать окно "Отключение сетевого диска"
"rundll32 user,disableoemlayer" - Спровоцировать сбой!!! (Знаю, сам сразу не поверил, но это FUсKт...)
"rundll32 diskcopy,DiskCopyRunDll" - Показать окно "Copy Disk"
"rundll32 rnaui.dll,RnaWizard" - Вывод окна "Установка Связи", с ключем "/1" - без окна
"rundll32 shell32,SHFormatDrive" - Окно "Форматирование: Диск3,5(А)" вызвать
"rundll32 shell32,SHExitWindowsEx -1" - Перегрузить Explorer
"rundll32 shell32,SHExitWindowsEx 1" - Выключение Компутера.
"rundll32 shell32,SHExitWindowsEx 0" - Завершить Работу Текущего Пользователя
"rundll32 shell32,SHExitWindowsEx 2" Windows-98-PC boot
"rundll32 krnl386.exe,exitkernel" - выход из Windows без любых сообщений/вопросов
"rundll rnaui.dll,RnaDial "MyConnect" - Вызвать окошко "Установка связи" с соединением "MyConnect"
"rundll32 msprint2.dll,RUNDLL_PrintTestPage" - выбрать в появившемся меню принтер и послать, а него тест
"rundll32 user,setcaretblinktime" - установить новую частоту мигания курсора
"rundll32 user,setdoubleclicktime" - установить новую скорость двойного нажатия
"rundll32 sysdm.cpl,InstallDevice_Rundll" - установить non-Plug&Play оборудование


Наверх

Титульная страница Поиск, карта сайта Написать письмо