前些天看到一篇关于HOOK的文章,小弟对里面的2个参数不是很明白,看了帮助也是摸不清头绪啊
请各位高手帮忙,解答下
function KeyboardHookHandler(iCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; export;
const
_KeyPressMask = $80000000;
begin
Result := 0;
If iCode < 0 Then
begin
Result := CallNextHookEx(hNextHookProc, iCode, wParam, lParam);
Exit;
end;
if ((lParam and _KeyPressMask) = 0) and (GetKeyState(vk—Control) < 0) and (wParam = Ord(′N′)) then
begin
Result := 1;
....
end;
end;
===================================================================================================
我所要问的是if((lParam and _KeyPressMask) = 0)这句话到底什么意思??我看了半天也看不懂,WPARAM,LPARAM
这2个参数到底怎么去用啊
请各位高手帮忙,解答下
function KeyboardHookHandler(iCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; export;
const
_KeyPressMask = $80000000;
begin
Result := 0;
If iCode < 0 Then
begin
Result := CallNextHookEx(hNextHookProc, iCode, wParam, lParam);
Exit;
end;
if ((lParam and _KeyPressMask) = 0) and (GetKeyState(vk—Control) < 0) and (wParam = Ord(′N′)) then
begin
Result := 1;
....
end;
end;
===================================================================================================
我所要问的是if((lParam and _KeyPressMask) = 0)这句话到底什么意思??我看了半天也看不懂,WPARAM,LPARAM
这2个参数到底怎么去用啊
解决方案 »
- 控制office outlook发送邮件
- 关于quickrep如何自动分页~!?
- 呼 唤 D 版 曾 经 的 大 佬 救 市!
- 高效算法求解!急!!!
- 困惑,WM_TIMER消息的处理是阻塞的吗?
- SOS: tinyint类型在ClientDataSet的Filter中的问题
- 请教各位大大一个关于dbgrideh控件问题
- 大难题:Delphi里用FLASH控件如何把声音关掉?
- 做了一学校招生系统,只用了ADOTable和ADOQuery加上ADOConnection,没用到其他ADO控件,算不算软件??那位高手能指点一下,我邮给他
- 写多媒体程序,VB AND DELPHI , 要哪个?
- imagelist 中如何动态加载 png的图片?
- 腾迅好强大,也好无耻
lParam 参数包含很多信息 32位内存,内容描述包括:指定扩展键值,扫描码,上下文,重复次数
Specifies the repeat count, scan code, extended-key flag, context code, previous key-state flag, and transition-state flag. For more information about the lParam parameter, see Keystroke Message Flags. This parameter can be one or more of the following values. if((lParam and _KeyPressMask) = 0)
因为lParam 包含了很多信息, 并不是每个信息都是你要的
lParam and $80000000, 是取第31位的值 0 表示按下, 1表示松开
GetKeyState(vk_Control) < 0 表示Ctrl被按下,
wParam 表示按键的虚拟键值消息, 如 Vk_Control整段是有键盘被按下, 而且同时 control 的状态是处于按下, 而且当前按下的是 N 键