function MouseProc(iCode:Integer;wParam:WPARAM; lParam:Pointer):LRESULT; stdcall;export; var pMouse:^MOUSEHOOKSTRUCT; l:integer; begin //如果用户按下鼠标右键同时Scroll Lock键为按下状态则 //滚动窗口。 if ((wParam=WM_RBUTTONDOWN) and Boolean(GetKeyState(145))) then 应该修改这一段就可以
以实时监视处理系统中的各种消息。很多鼠标增强软件就是利用消息挂钩来拦截所有的
鼠标消息进行处理的。
要设置鼠标消息挂钩,一般先建立一个使用鼠标消息挂钩的动态连接库(DLL)文件,然
后就可以在其它程序中使用这个DLL文件处理鼠标消息。
下面的程序介绍通过鼠标消息挂钩监视鼠标消息,从而实现类似于一些鼠标增强软件一
样的使窗口上下左右滚动的功能。1.建立动态连接库
选择菜单 File|New ,选择DLL产生一个DLL模版,保存为 MHook.Dpr
file://MHook.Dpr源程序
library MHook;uses
SysUtils,
Classes,
hkproc in 'hkproc.pas';exports
EnableMouseHook,
DisableMouseHook;begin
hNextHookProc:=0;
procSaveExit:=ExitProc;
ExitProc:=@HotKeyHookExit;
end.再选择菜单 File|New ,选择Unit建立一个Pas文件,保存为 HKProc.pas
lParam:Pointer):LRESULT; stdcall;export;
var
pMouse:^MOUSEHOOKSTRUCT;
l:integer;
begin
//如果用户按下鼠标右键同时Scroll Lock键为按下状态则
//滚动窗口。
if ((wParam=WM_RBUTTONDOWN) and Boolean(GetKeyState(145))) then
应该修改这一段就可以