分享

屏蔽F1的练习(hook)

 独孤求财 2012-06-05

屏蔽F1的练习(hook)

复制代码
//-----------勾子判断按键方法-------

function LowLevelKeyboardProc(Wnode: Integer; Wparam: WPARAM; Lparam: LPARAM):LRESULT;stdcall;
type
KeyHook = record
VKcode: DWORD;
ScanCode: DWord;
Flags: DWord;
Time: DWord;
dwExtraInfo: DWord;
end;
var
p : ^keyhook;
begin
Result := 0;
p := Pointer(Lparam);
if Wnode = HC_ACTION then
begin
case Wparam of
WM_KEYDOWN, WM_KEYUP, WM_SYSKEYUP, WM_SYSKEYDOWN:
begin
if p.VKcode = VK_F1 then //这时只是判断按下是不是F1键
Result := 1
else if p.VKcode = VK_ESCAPE then
Result := 1;
end;
end;
end
else if Wnode <> 0 then
begin
Result := CallNextHookEx(0,Wnode, Wparam, Lparam );
end;

end;

//----------注册勾子
procedure TForm2.registerTO;
const
WM_Key_F1 = 13;
begin
WM_sock := 0;
WM_sock := RegisterWindowMessage('WM_Sock');
hhandle := Handle;
hook := SetWindowsHookEx(WM_Key_F1, LowLevelKeyboardProc, HInstance, 0);
end;
//-------------删除勾子---------
procedure TForm2.DeleteRegister;
begin
UnhookWindowsHookEx(hook);
end;

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多