发送代码
CString cstr1;
cstr1.Format(_T("%d"), i);//调试有值 cstr1="123"
CString cstr2 = _T("Hello String.");
pWnd->SendMessage(WM_TESTMESSAGE, 1, ((WPARAM)(LPCTSTR)cstr1, (LPARAM)(LPCTSTR)cstr2));
接收代码
LRESULT CTEST2020Dlg::OnReciveMessage(WPARAM wParam, LPARAM lParam)
{
CString cstr1 = (LPCTSTR)wParam;
CString cstr2 = (LPCTSTR)lParam;
TRACE(_T("wParam is: - %s\n"), cstr1);//输出wParam is: -
TRACE(_T("lParam is: - %s\n"), cstr2);//输出正常lParam is: Hello String.
return 1;
}
调试发现,在send时候,两个值正常,只是这一个数字的数据没过来,wParam地址值一直为1,而Lparam这个地址值一直在变20534812354,也就是说这个WPARAM就没发过去,类型错还是调用错了?