我现用 CSerialPort ,应不是最新版,新版我看了太复杂.现版本是用
unsigned char RXBuff;::SendMessage((port->m_pOwner)->m_hWnd, WM_COMM_RXCHAR, (WPARAM) RXBuff, (LPARAM) port->m_nPortNr);把readfile的内容传给主FORM, READFILE:
bResult = ReadFile(port->m_hComm,  &RXBuff, 1, &BytesRead, &port->m_ov); 这个类里是一个CHAR  一个CHAR 读的,我想要发送者发的一串,怎么做.
我改成
 char RXBuff[100];::SendMessage((port->m_pOwner)->m_hWnd, WM_COMM_RXCHAR, (WPARAM) RXBuff, (LPARAM) port->m_nPortNr);form里得到的是一个?号而已.----------------------
没看明白吧,再来:LONG CCommtestDlg::OnCommunication(WPARAM ch, LPARAM port)
{
if (port <= 0 || port > 4)
return -1; if (ch == 13 && ((CButton*)GetDlgItem(IDC_CHECK5 + port - 1))->GetCheck())
{
m_ListBox[port-1].AddString(m_strReceived[port-1]);
m_ListBox[port-1].SetSel(m_ListBox[port-1].GetCount()-1, TRUE);
(m_strReceived[port-1]).Empty();
}
else if (((CButton*)GetDlgItem(IDC_CHECK5 + port - 1))->GetCheck())
m_strReceived[port-1] += (char)ch;
else
{
CString string;
string += (char)ch;
m_ListBox[port-1].AddString(string);
m_ListBox[port-1].SetSel(m_ListBox[port-1].GetCount()-1, TRUE);
} return 0;
}总之是一个一个的收到,我想要一个串,发送者发的那串,高人请说