对话框程序,对话框用于显示,开了一个辅助线程,用于数据接收自己定义了一个消息WM_WHM_REV,以及相应的消息处理函数OnWhmRev(WPARAM wParam, LPARAM lParam)在辅助线程里面这样处理
SendMessage(hSendWnd, WM_WHM_REV, NULL, (LPARAM)strResponse);//strResponse为接受到的字符串现在接收到字符后,确实相应了OnWhmRev函数现在想通过消息把字符串strResponse传递过来,请问如何处理? 谢谢

解决方案 »

  1.   

    用(CString)strResponse强制类型转换试试。建议用WPARAM参数传递CString数据。我用过这个,没问题。
      

  2.   

    能给个用WPARAM传递字符串的说明语句么?谢谢
      

  3.   

    传递指针吧,毕竟WPARAM是个32位数,而指针也是的。直接传递字符串,如果字符串比较长,结果肯定不对
      

  4.   

    直接用wparam传递指针,不会出错
      

  5.   

    WPARAM->UINT,LPARAM->LONG应该说用WPARAM,LPARAM传递指针都不会有太大问题。只是此处你不应该对CString进行强制转换,而应该转换CString.GetBuffer().SendMessage(hSendWnd, WM_WHM_REV, NULL, (LPARAM)strResponse.GetBuffer());//strResponse为接
      

  6.   

    其实也可以不用GetBuffer,你可以这么写:
    SendMessage(hSendWnd, WM_WHM_REV, NULL, (LPARAM)(LPCSTR)strResponse);