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

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

Блокировка клавы с помошью хука [D6, D7, NT4, Win2k, WinXP]


neodiX ©   (2003-04-17 17:17:00) 

Все блокируеться, кроме ALT+TAB, WIN key (left or right) ну и так же ALT+ESC. Дело в том, что вроде вот так (см. ниже)должно блокировать, покрайней мере так в инете написано, но нифига, в чем проблема?
{Маппинг файла и все остальное реализовано как всегда }
function KBD_HookProc(nCode: Integer; iWPARAM: wParam; iLPARAM: lParam): LResult; stdcall; far;
var
ReturnStructure: PMSG;
begin
if ncode<0 then
CallNextHookEx(0, nCode, iwParam, ilParam)
else
result:=1;

end;
procedure UnLockMouse;
begin
UnHookWindowsHookEx(rHookRec^.HookID_Mouse);
end;

procedure LockKBD;
begin
rHookRec^.HookID_KBD := SetWindowsHookEx(WH_KEYBOARD, @KBD_HookProc, hInstance, 0);
end;
procedure UnLockKBD;
begin
UnHookWindowsHookEx(rHookRec^.HookID_KBD);
end;


neodiX   (2003-04-18 12:05:00) [1]

2 ИгорьОк
Мне надо не все сразу, а по отдельности блокиворать. Сначала мышь, потом маус.
Все вопрос закрыт, я уже узнал.


Yuri Btr   (2003-04-18 09:38:00) [2]

JwaWinUser
из библиотеки JEDI Windows API Library


ИгорьОк   (2003-04-18 04:40:00) [3]

А обязательно так извращаться? Можно ведь просто использовать BlockInput, блокирует всё и полностью (даже мышь) на NT помогает только Reset, в смысле если не программно, а так.


neodiX   (2003-04-17 23:05:00) [4]

Song, это то, что надо! Только наверно надо какой то модуль в uses прописать, что бы компилятор понял WH_KEYBOARD_LL, а то ругается, не распознает :(


Song   (2003-04-17 19:42:00) [5]

Нужен низкоуровневый хук - WH_KEYBOARD_LL


Наверх

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