中了键盘鼠标钩子程序怎么办

2023-01-04 00:07

1个回答
如果你不需要屏蔽Ctrl+Alt+Del组合键,可以使用低级键盘钩子(WH_KEYBOARD_LL)与低级鼠标钩子(WH_MOUSE_LL),这两种消息钩子的好处是不需要放在动态链接库中就可以作全局钩子,将键盘消息与鼠标消息截获.

unit uHookKeyAndMouse;
{ 该单元利用WH_KEYBOARD_LL与WH_MOUSE_LL两种类型的钩子分别截获键盘消息与鼠标消息}
{ 由于这里只是需要将消息屏蔽,故只需对钩子函数的返回结果设为1即可. }
{ 提供两个函数StartHookKeyMouse与StopHookKeyMouse两个函数. }

interface

uses
Windows, Messages, SysUtils;

const
WH_KEYBOARD_LL =13;
WH_MOUSE_LL =14;

procedure StartHookKeyMouse;
procedure StopHookKeyMouse;

implementation

var
hhkLowLevelKybd:HHook=0;
hhkLowLevelMouse:HHook=0;

function LowLevelKeyboardProc(nCode:Integer; WParam:WPARAM; LParam:LPARAM):LRESULT; stdcall;
begin
Result:=1;
if nCode<>0 then Result:=CallNextHookEx(0,nCode,WParam,LParam);
end;

function LowLevelMouseProc(nCode:Integer; WParam:WPARAM; LParam:LPARAM):LRESULT; stdcall;
begin
Result:=1;
if nCode<>0 then Result:=CallNextHookEx(0,nCode,WParam,LParam);
end;

procedure StartHookKeyMouse;
begin
if hhkLowLevelKybd = 0 then
begin
hhkLowLevelKybd := SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, Hinstance, 0);
end;
if hhkLowLevelMouse = 0 then
begin
hhkLowLevelMouse:=SetWindowsHookEx(WH_MOUSE_LL,LowlevelMouseProc,HInstance,0);
end;
end;

procedure StopHookKeyMouse;
begin
if hhkLowLevelKybd <> 0 then
begin
UnhookWindowsHookEx(hhkLowLevelKybd);
hhkLowLevelKybd:=0;
end;
if hhkLowLevelMouse <> 0 then
begin
UnHookWindowsHookEx(hhkLowLevelMouse);
hhkLowLevelMouse:=0;
end;
end;

initialization
hhkLowLevelKybd:=0;
hhkLowLevelMouse:=0;
finalization
if hhkLowLevelKybd <> 0 then UnhookWindowsHookEx(hhkLowLevelKybd);
if hhkLowLevelMouse <> 0 then UnhookWindowsHookEx(hhkLowLevelMouse);
end.
相关问答
钩子除了鼠标键盘还能钩什么?
1个回答2022-09-22 01:11
一. 按事件分类,有如下的几种常用类型 (1) 键盘钩子和低级键盘钩子可以监视各种键盘消息。 (2) 鼠标钩子和低级鼠标钩子可以监视各种鼠标消息。 (3) 外壳钩子可以监视各种Sh...
全文
鼠标:键盘
1个回答2024-02-07 04:20
B。解析:鼠标和键盘都属于电脑的一部分,门和窗户都属于房屋的一部分。
鼠标:键盘
1个回答2024-02-20 14:49
B 解析: 第一步:判断题干词语间逻辑关系。 题干两词是并列关系,且是属于同一事物不同部分间的并列关系,即“鼠标”和“键盘”都是电脑的组成部分。 第二步:判断选项词语间逻辑关系。 与题干相...
全文
鼠标和键盘的作用
2个回答2022-09-18 00:40
作为计算机的输入设备
键盘如何当鼠标用
4个回答2023-08-24 16:19
可以,我经常使用键盘鼠。你按左边的SHIFT五次,然后-设置-鼠标:把使用鼠标键选上,然后设置,里面的复选框都勾上,然后把关闭选择上。OK了。使用时结合CTRL来用。
你见过竹子做的键盘鼠标吗?
1个回答2023-01-01 03:32
见过,在淘宝有卖的。
游戏鼠标和键盘与普通的鼠标和键盘有什么区别?
1个回答2023-02-03 05:21
这个应该是厂商的销售模式吧,一个鼠标的好坏就看他的DPI和刷新率就出来了,键盘看自己适宜不适宜这个键盘的硬度和按键的格局...
鼠标和键盘哪个牌子最好用?
2个回答2023-02-08 19:01
不用纠结,就是用罗技的,,绝对 好用。
什么牌子的鼠标和键盘好用啊
1个回答2023-02-09 01:28
高端(1000-):Ducky 生肖限定版,斐尔可(FILCO)圣手二代,樱桃MX BOARD 8.0,HHKB Professional静电容,达尔优EK855. 斐尔可(FILCO)圣手二代...
全文