想要截取一个程序发送给另外一个窗口程序的数据,其中我并不知道该程序是怎么传输该数据给另外一个窗口的?请问各位大侠要怎么做?

解决方案 »

  1.   

    你的意思是不是通过WM_COPYDATA发送的数据?通过消息返回钩子截获WM_COPYDATA消息
    SendMessage( 
      (HWND) hWnd,              // handle to destination window 
      WM_COPYDATA,              // message to send
      (WPARAM) wParam,          // handle to window (HWND)
      (LPARAM) lParam           // data (PCOPYDATASTRUCT)
    );
    直接读取lParam的地址得内容,此时你的dll已经在这个进程内部,可以直接访问
      

  2.   

    你的意思是不是通过WM_COPYDATA发送的数据?通过消息返回钩子截获WM_COPYDATA消息
    SendMessage( 
      (HWND) hWnd,              // handle to destination window 
      WM_COPYDATA,              // message to send
      (WPARAM) wParam,          // handle to window (HWND)
      (LPARAM) lParam           // data (PCOPYDATASTRUCT)
    );
    直接读取lParam的地址得内容,此时你的dll已经在这个进程内部,可以直接访问
      

  3.   

    不是指用WM_COPYDATA发送的数据,而是我根本就不知道怎么回事的。
      

  4.   

    如果是你自己得程序,你可以用内存映象来传递
    createfilemapping 
    openfilemapping 
    mapviewoffile这三歌函数可以作到