HOOK高手请指点,有关HOOK和其它软件的兼容问题

cdknet 2008-03-08 08:36:41
HOOK安装
hhMouseHook = SetWindowsHookEx(WH_MOUSE, (HOOKPROC)MouseHookProc, hDllHinstance, 0);

if (hhMouseHook == NULL)
{
return 2;
}



//Mouse HOOK回调函数
LRESULT CALLBACK MouseHookProc(int iCode, WPARAM wParam, LPARAM lParam)
{
try
{
if(iCode == HC_ACTION)
{
/*
TSharedMemory sharedMemory(false);

if (sharedMemory.HookInfo != NULL)
{
//从共享内存中取出线程ID
DWORD parentThreadID = sharedMemory.HookInfo->ParentThreadID;

if (parentThreadID != NULL)
{
PostThreadMessage(parentThreadID, MOUSE_HOOK_MSG, 0, 0);
}
}
*/
}
}
catch (...)
{}

return CallNextHookEx(hhMouseHook, iCode, wParam, lParam);
}

以上有安装和HOOK的回调,在90%的软件上发现没有问题,但是在Microsoft Virtual PC 和Sylpheed(一个开源的Mail Client)上,只要安装了HOOK,那两个程序就启动报错,Sylpheed这个软件是使用GTK+,报错或许可以理解,但是不明白为什么MS的软件Microsoft Virtual PC也会有问题,请高手指点?
...全文
246 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
BeRoy 2008-03-29
  • 打赏
  • 举报
回复
装个Virtual PC ,用VS远程调试。
lihongbin33 2008-03-20
  • 打赏
  • 举报
回复
顶分
gyj_china 2008-03-14
  • 打赏
  • 举报
回复
会不会是你的共享内存修改了其它软件的值导致的啊?
ydlchina 2008-03-09
  • 打赏
  • 举报
回复
纯粹顶分

1,222

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧