COPYDATASTRUCT* pCDS = (COPYDATASTRUCT*)lParam; TRACE("#%X #",pCDS->lpData);
 TRACE("#%X #",pCDS->cbData);
 
 if( pCDS->cbData == WM_COPYDATA ){
 TRACE("WM_COPYDATA \r\n");
 }
CWPSTRUCT *pMsg = (CWPSTRUCT*)lParam;  
TRACE("@%X @",pMsg->message);

我打印了日志 没有发现抓到 4a这个代表WM_COPYDATA 的WM码求搞过的给点帮助其他的VM大部分能抓到

解决方案 »

  1.   

    是不是判断错标志了?  cbData 是缓冲区大小   dwData 常用于区分ID
    LRESULT CALLBACK CallWndProc(int nCode, WPARAM wParam, LPARAM lParam)
    {
      CWPSTRUCT *pMsg = (CWPSTRUCT *)lParam;
      if(pMsg->message == WM_COPYDATA)
      {
        COPYDATASTRUCT *pCds = (COPYDATASTRUCT *)pMsg->lParam;    TRACE(_T("WM_COPYDATA hWnd=%p dwData=%u cbData=%u, lpData=%p\n"),
          pMsg->hwnd, pCds->dwData, pCds->cbData, pCds->lpData); 
        
        if(pCds->dwData == IDXXXXX)
        {
          LPBYTE pData = (LPBYTE)pCds->lpData;
          for(DWORD i=0; pData && i<pCds->dwData; i++)
          {
            TRACE(_T("%02X "), pData[i]);
          }
        }
      }  return CallNextHookEx(gHook, nCode, wParam, lParam);
    }
      

  2.   

    这个只是我打印捕获的 VM码! 打印后没有发现存在4a  
    4a就是WM_COPYDATA
      

  3.   

    SendMessage (WM_COPYDATA)看看!
      

  4.   

    用spy++抓取一下消息试试
      

  5.   

    mfc本身要是发WM_COPYDATA可以抓到 但是 游戏的抓不到!目前是全局钩子!!不明觉厉
      

  6.   

    最要命的是 spy++ 可以抓到!不清楚缘由
      

  7.   

    可能 hook 链里 谁没有 CallNextHookEx(gHook, nCode, wParam, lParam); ??
      

  8.   

    有 !注意下区别啊  mfc我构造个vm_copydata消息是可以抓到的!游戏梦幻西游里面的vm_copydata消息 spy++可以抓到  我抓不到
      

  9.   

    目前是全局钩子!!可能你需要不断的设置钩子,设置几十毫秒间隔就setwindowshookex一次,因为之前获取QQ登录框密码按键就是需要这样子的
      

  10.   

    没用!!
    请注意这一点::::
    我自己在程序里构造个vm_copydata消息是可以抓到的!游戏梦幻西游里面的vm_copydata消息 spy++可以抓到  但我我抓不到 
      

  11.   

    The CallNextHookEx function passes the hook information to the next hook procedure in the current hook chain. A hook procedure can call this function either before or after processing the hook information. 试试 after
      

  12.   

    就是 先 :
     LRESET ret= CallNextHookEx(gHook, nCode, wParam, lParam);
    你的代码;return ret;
      

  13.   

    没用!我提升权限后 可以抓到 自己程序的copydata 但是抓不到游戏窗体的
      

  14.   

    检查 游戏窗体的 hWnd