Главная страница
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.014 c
8-53659
kvp
2003-10-20 12:51
2004.02.17
Повернуть элипс на произвольный угол


3-53380
First_May
2004-01-26 11:47
2004.02.17
Право на восстановление


1-53450
lokid7
2004-02-06 17:11
2004.02.17
Взаимодействие между двумя классами


1-53643
VID
2004-02-06 17:08
2004.02.17
Определить необходиму высоту для RichEdit


1-53476
Алексей
2004-02-06 10:51
2004.02.17
Delphi jpg to text