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

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

блокировка клавиатуры и мыши [D6, WinXP]


MaximCHR ©   (2003-10-31 15:58:00) 

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


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

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


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

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


pasha_golub   (2003-11-17 11:44:00) [3]

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

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


MaximCHR   (2003-11-16 16:36:00) [4]

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


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

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


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

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


pasha_golub   (2003-11-15 11:43:00) [7]

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

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

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


Cash   (2003-11-15 01:30:00) [8]

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

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.


Gero   (2003-11-02 19:36:00) [9]

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


willys   (2003-11-01 04:31:00) [10]

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


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

Вот так сто пудово все отрубает, но только из-под 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);


TUser   (2003-10-31 16:05:00) [12]

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


Наверх

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