![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
блокировка клавиатуры и мыши [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. Наверное, так.