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

Вниз

PKBDLLHOOKSTRUCT ?   Найти похожие ветки 

 
Dmitriy M. Volkov   (2003-06-22 22:49) [0]

Нашёл вот такую вещь. Проблема в том, что не понятно, что такое "PKBDLLHOOKSTRUCT" - Undeclared Identifier. Подскажите, плз. Кстати, low level keyboard hook чем-то отличается от обычного? Т.е. в MSDN пишут про такой WH_KEYBOARD_LL, а что он из себя представляет?


function GlobalKeyBoardHook (nCode:Integer; awParam:Word; alParam:LPARAM):LRESULT; stdcall;
var
bControlKeyDown:boolean;
pkbhs:PKBDLLHOOKSTRUCT;
begin
if nCode=HC_ACTION then begin
pkbhs:=PKBDLLHOOKSTRUCT(alParam);
// Check to see if the CTRL key is pressed
bControlKeyDown:=(GetAsyncKeyState (VK_CONTROL) and $8000)<>0;
Result:=1;
// Disable WINDOWS Key
if (pkbhs^.vkCode in [VK_LWIN, VK_RWIN]) then exit;
// Disable CTRL+ESC
if (pkbhs^.vkCode = VK_ESCAPE) and bControlKeyDown then exit;
// Disable ALT+TAB
if (pkbhs^.vkCode = VK_TAB) and ((pkbhs^.flags and LLKHF_ALTDOWN)<>0) then exit;
// Disable ALT+ESC
if (pkbhs^.vkCode = VK_ESCAPE) and ((pkbhs^.flags and LLKHF_ALTDOWN)<>0) then exit;
// Disable CTRL+ALT+DEL ?? Does not work
if (pkbhs^.vkCode = VK_DELETE) and ((pkbhs^.flags and LLKHF_ALTDOWN)<>0) and bControlKeyDown then exit;
end;
Result:=CallNextHookEx (CurrentHook, nCode, awParam, alParam);
end;


 
Вася Пупкин ©   (2003-06-22 22:56) [1]

The KBDLLHOOKSTRUCT structure contains information about a low-level keyboard input event.

typedef struct tagKBDLLHOOKSTRUCT {
DWORD vkCode;
DWORD scanCode;
DWORD flags;
DWORD time;
ULONG_PTR dwExtraInfo;
} KBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;

Подробнее - см. MSDN


 
Dmitriy M. Volkov   (2003-06-22 23:31) [2]

Хорошо, но почему в Delphi эта структура не известна? Тот код, что я приводил выше не работает из-за того, что Дельфи не известно что такое "PKBDLLHOOKSTRUCT". Помогите, плз.


 
Palladin ©   (2003-06-23 00:08) [3]

а где ты взял этот код?


 
Dmitriy M. Volkov   (2003-06-23 05:30) [4]

Вот тут нашёл http://www.codeguru.com/vb/links/comments/552.shtml Это судя по всему переделка кода, который выложен на MSDN



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
14-7656
BOA_KAA
2003-06-16 16:02
2003.07.03
А прикольно...


1-7522
PONTIY
2003-06-21 22:16
2003.07.03
Как делать обработку событий если объект добавлен динамически?


8-7555
Программер Михаил
2003-03-20 17:29
2003.07.03
Как конвертировать из TJPEGImage в TDIB??


14-7720
Snake2000
2003-06-16 21:50
2003.07.03
Какой Линукс выбрать


1-7385
Mishenka
2003-06-22 22:22
2003.07.03
Как в TreeView определить событие щелчка мыши над узлом?