两个dll合并在一起解决办法

两个dll合并在一起
从网上下载了两个dll,一个是键盘钩子,一个是鼠标钩子,有源代码,有test工程代码.

我想把这两个dll合并在一起,把代码做了一些修改编译成功;后来发现,在挂钩的时候不能同时起作用,后挂的那个有用,前面挂的就没用了.

在代码里面我是把键盘钩子放在后面的,也就是说,如果我只放在一个过程里面挂钩,只有键盘钩子有效;

如果把两个钩子拆开放在两个过程里面,挂了一个另一个就无效了..

就好象我的钩子在挂鼠标的时候就把键盘吞掉了,挂键盘的时候就把鼠标给吞掉了一样.....但是按道理应该不会这样的,我的函数设了返回值,其他的窗口都能接收到键盘鼠标消息,说明钩子没有吞掉消息...


我想请人帮我大致分析一下,只要思路,不用帮我看代码..

应该怎样做才能让两个钩子都有效呢?


另:这两个dll用到了内存映射文件来共享数据,会不会是这里出了问题?难道必须要拆开?

------解决方案--------------------
调用后要及时释放.