[求助] 求助用一个DLL吃掉全部鼠标消息的问题
楼主
我自己写了一个通过安装全局鼠标钩子吃掉所有鼠标消息的DLL
代码是这样的,请大家看下
#include "stdafx.h"
#include "MouseHookDll.h"
MOUSEHOOKDLL_API HHOOK g_hHook;
HMODULE WINAPI ModuleFromAddress(PVOID pv)
{
MEMORY_BASIC_INFORMATION mbi;
if(::VirtualQuery(pv, &mbi, sizeof(mbi)) != 0)
{ return (HMODULE)mbi.AllocationBase; }
else
{ return NULL; }
}
LRESULT CALLBACK HookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
return 1;
}
MOUSEHOOKDLL_API HHOOK SetHook(void)
{
g_hHook = ::SetWindowsHookEx(WH_MOUSE, HookProc, ModuleFromAddress
(HookProc), 0);
return g_hHook;
}
MOUSEHOOKDLL_API void UnSetHook(void)
{
::UnhookWindowsHookEx(g_hHook);
}
我用rundll32调用其中的导出函数SetHook来安装全局鼠标钩子,又在钩子函数中写到
return 1来吃掉钩子,我觉得按理说是对了,可是不知哪里的问题,总是失败(鼠标可以照常使用),请大家帮看看,错在哪里,如何解决.