我在VB程序中已能接收到VC程序中发送来的消息,但不知道如何解析处数据?在VC的“发送”程序中,发送的消息中的lParam为指向一个288字节的自定义结构的指针。在VC的“接收”程序中示意代码如下
/* “接收”部分的消息处理程序 DEMO
▲▲请注意lParam的定义
LONG OnStkDataOK(UINT wParam,LONG lParam)
{
 RCV_DATA*  pHeader;
 // ▲▲请注意lParam的定义
 pHeader = (RCV_DATA *)lParam;
 switch( wParam )
 {
 case RCV_REPORT:      // 共享数据引用方式,股票行情
  for(i=0; i<pHeader->m_nPacketNum; i++)
  {
   pHeader->m_pReport[i] ...
   // 数据处理
  }
  break;.....
'下面是我在VB中的程序
Function WindowProc(ByVal hw As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    If uMsg = 2006 Then        '2006号消息为自定义的通信消息号码(端口)
        mMsgC = mMsgC + 1           '此处应该对接收到的的数据进行处理
        Select Case wParam
        Case RCV_REPORT            '接收到的wParam是正确的                '▲▲请问在此处如何取得lParam中的数据??
                '▲▲下面是我用的CopyMemory,但得到的tRecData中的数据不正确
                pRec = VarPtr(tRecData)
        
                'CopyMemory ByVal VarPtr(tRecData), lParam, tL    
                'CopyMemory tRecData, lParam, tL
                CopyMemory pRec, lParam, tL
        End Select
    End If
    
    Dim lpPrevWndProc As Long
    '查询原来默认的窗口过程指针
    lpPrevWndProc = GetWindowLong(hw, GWL_USERDATA)
    '调用原来的窗口过程
    WindowProc = CallWindowProc(lpPrevWndProc, hw, uMsg, wParam, lParam)
End Function