我想通过Hook对目标窗口进行子类化
DWORD dwThreadID = GetWindowThreadProcessId(Hdes, NULL);//得到目标线程ID
然后进行Hook
g_hProc = SetWindowsHookEx(WH_GETMESSAGE,CallWndProc, g_hInstDLL, dwThreadID);
我在CallWndProc里进行子类化
oldProc = (WNDPROC)SetWindowLong(Hdes,GWL_WNDPROC,(LONG)MyProc);
..
但是我的程序返回oldProc==0,也就是子类化失败。不知道怎么回事。。

解决方案 »

  1.   

    MyProc是要在dll里面才可以,这个代码应该可以的,你可以到hack.gameres.com里找窗口化代码,里面有详细的例子
      

  2.   

    如果你想子类化别的进程里的窗口,必须是全局钩子,而且该钩子的函数代码要在一个dll里
      

  3.   

    如果不用全局钩子,可以用dll注入的方式,注入到那个进程的地址空间后再安装本地钩子
      

  4.   

    我的问题解决了原来是Hdes在共享段里面没有初始化子类化的方法是没有错误的
    给分了