用《windows核心编程》里的例子,在dll中,DLL_PROCESS_ATTACH时,进行SetWindowsHookEx:
g_hhook = SetWindowsHookEx(WH_GETMESSAGE, GetMsgProc,0, dwThreadId); //g_hhook放在共乡数据段当多个进程装载这个dll时候,只有第一个进程中dll起作用。其他的进程会崩溃。

解决方案 »

  1.   

    书里有个inject的工具,可以把dll注到其它进程里,但那个程序里它把dll注入,做完后马上就卸掉dll了,你改一下,让dll先不要卸掉。
    再启动一个这个程序,把dll注另外一个程序,这时候dll不起作用了。
      

  2.   

    dll你可以随便就用书那个,把"进程中的 dll 都列出"来功能的那个dll是来试试。
      

  3.   

    是由于你的代码没有处理好,通过技巧是可以处理掉的
    你需要保证区分Dll中的进程相关的和无关的数据访问