delphi - Why does the Alt key not trigger my low-level keyboard hook? -
i experimenting keyboard hooks, , seems if alt key (amongst other command keys) not being hooked, , can't figure out why?
below keyboard hook debug code in prints out vkcode, scancode , lpchar readings.
it works keys basically, not alt , ctrl etc
function lowlevelkeybdhookproc(ncode, wparam, lparam : integer) : integer; stdcall; // possible wparam values: wm_keydown, wm_keyup, wm_syskeydown, wm_syskeyup var info : ^keybdllhookstruct absolute lparam;     lpchar : word;     kstate : tkeyboardstate;  begin result := callnexthookex(khook, ncode, wparam, lparam); info^   case wparam of     wm_keydown : begin       getkeyboardstate(kstate);        form1.memo1.text:=form1.memo1.text+'vkcode: '+inttostr(vkcode)+              ' scancode: '+inttostr(scancode)+              ' lpchar: '+inttostr(lpchar)+;     end;   end; end; 
to detect alt key going down, need respond wm_syskeydown. 
note ignoring value of ncode. must read documentation , says. 
a code hook procedure uses determine how process message. if ncode less zero, hook procedure must pass message callnexthookex function without further processing , should return value returned callnexthookex.
this parameter can 1 of following values.
hc_action (0). wparam , lparam parameters contain information keyboard message.
Comments
Post a Comment