function MouseProc(nCode: Integer;
wParam: WParam;
lParam:Longint): HResult;
stdcall;
begin
if PMsg(Msg)^.hwnd<> 你的程序窗口 then
//这里有可能会出错,我没试过.因为可能这个句柄是你窗口的子窗口的句柄,不过可以设法判断是不是子窗口.
pMsg(@wParam)^.message:=0;
//也可以依据鼠标位置来判断
{if pMsg(@wParam)^.pt 没在你的窗口范围内 then
//你可以先限制窗口的移动.
pMsg(@wParam)^.message:=0;
}
//同上也可以判断按键按下时的窗口输入焦点,如果焦点在你的窗口上,则对消息放行,如果不是,则修改消息.
Result := CallNextHookEx(HookHandle, nCode, wParam, Longint(@lParam));
end;
end.