Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.17;
Скачать: CL | DM;

Вниз

блокировка клавиатуры и мыши   Найти похожие ветки 

 
MaximCHR   (2003-10-31 15:58) [0]

Пишу локер,при появление окна с вводом пароля нужно чтоб заблокировались все клавиши и сочетания клавиш которые могли бы закрыть или обойти приложение,и чтоб курсор мыши находился только в этом окне ,как это лучше сделать дайте совет ,если можно и примерчик


 
TUser ©   (2003-10-31 16:05) [1]

Когда окошко теряет фокус, ОС посулает ему соотв. сообщение. Надо его перехватить и написать SetFocus. Наверное, так.


 
Alik   (2003-10-31 18:11) [2]

Вот так сто пудово все отрубает, но только из-под 9x, Me.

Uses Shellapi;

"rundll32 keyboard,disable" - Вырубить Клавиатуру.
"rundll32 mouse,disable" - Вырубить Мышь.

Можно использовать из приложения Дельфи с помощью следующей конструкции:
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);


 
willys ©   (2003-11-01 04:31) [3]

> Alik (31.10.03 18:11) [2]
интересно, как пользователь будет вводить пароль с вырубленной клавиатурой :)


 
Gero ©   (2003-11-02 19:36) [4]

Вообще-то, делать нечто подобное - дурной тон.


 
Cash ©   (2003-11-15 01:30) [5]

Да я сам пишу подобную вещь, от всего избавился, окромя двух клавиш, на которых Виндошная эмблема. да и понятно. Все остальное - сочитания клавишь, убрать можно отменив одну из клавиш этого сочитания. У меня это так:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
keybd_event( VK_CONTROL, $45, KEYEVENTF_KEYUP, 0); {Control}
keybd_event( VK_ESCAPE, $45, KEYEVENTF_KEYUP, 0); {Esc}
keybd_event( VK_MENU, $45, KEYEVENTF_KEYUP, 0); {Alt}
end;

Мышь фиксировать мне не надо, т.к. все действо в полноэкранном режиме, Для чего удачно применил DelphiX.


 
pasha_golub ©   (2003-11-15 11:43) [6]

Для отрубания Виндовых клавиш в ХР надо юзать хук и не иначе, ИМХО.

В 98 все просто, надо юзать SPI_SCREENSAVERRUNNING.

2Автор ветки
Юзай мой локер, чем он тебе не подходит?


 
MaximCHR   (2003-11-15 12:06) [7]

Чтож нашёл одно из решений,есть компонент в библиотеке JVCL,там вроде можно сделать подобное,


 
Cash ©   (2003-11-16 00:07) [8]

pasha_golub : Дай ка поподробнее про Хук под XP.


 
MaximCHR   (2003-11-16 16:36) [9]

2pasha golub:Да я к локеру ещё одну вещицу прикрутил- таймер,а то у меня братишка в моё отсутствие слишком много за компом сидит,всё прописал а вот отловить Win и сочетания её,оловить не могу......


 
pasha_golub ©   (2003-11-17 11:44) [10]

2Cash
Ваще-то инфы очень много, стптьи есть на этом сайте. Но если именно по этой теме, то по-моему www.torry.net раздел Hints, там есть даже пример хука на клавиатуру.

2MaximCHR
Смотри совет про торри.нет


 
Cash ©   (2003-11-17 18:46) [11]

pasha_golub: Ok. посмотрю.


 
agentru   (2003-12-01 22:16) [12]

Кстати какие компоненты существуют для этого?



Страницы: 1 вся ветка

Текущий архив: 2004.02.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
14-53774
Tornado
2004-01-30 10:43
2004.02.17
Где взять иконки


14-53700
AndersoNRules
2004-01-29 22:12
2004.02.17
U menya predlojeniye!!!!!!! prosto rulezz !!!


1-53642
GRF
2004-02-04 23:39
2004.02.17
Отдельный поток в DLL


7-53781
Gaval
2003-12-02 09:55
2004.02.17
Реакция на и зменение контрасности монитора


3-53358
Крутыш
2004-01-28 13:54
2004.02.17
Отключить сортировку.