钩子的消息处理函数如何判断具体发生了什么消息(100分)

  • 主题发起人 主题发起人 AYellow
  • 开始时间 开始时间
A

AYellow

Unregistered / Unconfirmed
GUEST, unregistred user!
例如:
我用键盘钩子监视键盘
function HookProc(nCode:Integer;wParam:WPARAM;lParam:LPARAM):LRESULT;stdcall;export;
SetWindowsHookEx(WH_KEYBOARD,@HookProc,HInstance,0);

但HookProc没有Msg参数,请问如何在HookProc中判断发生的键盘事件具体是什么事件?
如WM_KEYDOWN,WM_KEYUP
 
function JournalLogProc(iCode:Integer;wParam:WPARAM;lParam:LPARAM): LRESULT stdcall;
var
pEvt:^EVENTMSG;
begin
Result:=0;
if iCode<0 then
exit;
CallNextHookEx(g_hLogHook,iCode,wParam,lParam);
InDoing:=true;
if iCode=HC_ACTION then
begin
pEvt:=Pointer(DWord(lParam));
if pEvt.message=WM_KEYDOWN then // Here
...

具体请看 http://www.delphibbs.com/delphibbs/dispq.asp?lid=531713
 
这两行是什么意思?
if iCode<0 then
exit;


if iCode=HC_ACTION then
 
俺也是照搬别人的 :-P 查一查MSDN吧。
 
接受答案了.
 
接受答案了.
 

Similar threads

I
回复
0
查看
580
import
I
I
回复
0
查看
633
import
I
后退
顶部