用管道接管控制台,
读写都正常。
但是当写入一命令,有信息读的时候,
读会咚的响一下,怎么能不让它响啊?
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); }
................
}
读写都正常。
但是当写入一命令,有信息读的时候,
读会咚的响一下,怎么能不让它响啊?
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); }
................
}
if( !ReadFile( hChildStdoutRdDup, chBuf, //这里会咚一下
当有数据时候,这里就“嘟”响一下,ReadFile读取数据返回,是不是和管道有关系,或者阻塞有关系 ?
有新的命令从输入线程输入后,产生了新的输出,这时候ReadFile应该可以读到数据了,
ReadFile所在的线程在ReadFile停止的地方启动,也就是在断点处捉到了断点,
此时,按下一步-->执行,就会"咚"