CSerialPort类怎么接受到一个字符串马上发送消息通知你收到的字符(用消息参数传递),那要是一次读取所有缓存数据该怎么做?像socket中recv(s,pBuf,buflen),一次可以读取所有数据!delphi中有个spcom也是有个OnReceived(BYTE^ pBuf,int bufflen)让你一次读取说有的字符!

解决方案 »

  1.   

    BOOL ReadFile(
      HANDLE hFile,                // handle to file
      LPVOID lpBuffer,             // data buffer
      DWORD nNumberOfBytesToRead,  // number of bytes to read
      LPDWORD lpNumberOfBytesRead, // number of bytes read
      LPOVERLAPPED lpOverlapped    // overlapped buffer
    );
    你将CSerialPort类中的接收函数中的调用ReadFile()处的nNumberOfBytesToRead设为比较大的值不就可以了吗.CSerialPort类原来设定为1,所以每次收1个字符。