用管道接管控制台,
读写都正常。
但是当写入一命令,有信息读的时候,
读会咚的响一下,怎么能不让它响啊?
DWORD WINAPI readThreadProc( LPVOID pParam )
{
DWORD dwRead;
TCHAR chBuf[read_BUFSIZE]; for( ;; )    

if( !ReadFile( hChildStdoutRdDup, chBuf,      //这里会咚一下
read_BUFSIZE, &dwRead, NULL) || dwRead == 0)
break;                    m_bak_readfile(chBuf,dwRead); } 
................
}

解决方案 »

  1.   

    执行这一句,就响正常程序有异常,windows跳出提示异常窗口时候出现咚的响一下,一样的声音出现
    if( !ReadFile( hChildStdoutRdDup, chBuf, //这里会咚一下
      

  2.   

    ReadFile,管道没有数据时,是阻塞的,线程停在这里,等待有数据,
    当有数据时候,这里就“嘟”响一下,ReadFile读取数据返回,是不是和管道有关系,或者阻塞有关系 ?
      

  3.   

    你怎么确定“咚”就是上述ReadFile发出的?怎么定位的?
      

  4.   

    ReadFile设置断点,一个命令的结果接受完毕后,ReadFile会停在这里,
    有新的命令从输入线程输入后,产生了新的输出,这时候ReadFile应该可以读到数据了,
    ReadFile所在的线程在ReadFile停止的地方启动,也就是在断点处捉到了断点,
    此时,按下一步-->执行,就会"咚"
      

  5.   

    是ReadFile咚还是ReadFile后面的程序咚
      

  6.   

    我用ReadFile读控制台输出都不咚的
      

  7.   

    readfile是api吗?检查下串口句柄是否正确,读的长度是否超过了默认缓冲长度,如果参数没有问题,按道理不会有这现象