我把一个Dos程序[如ftp]重定向到一个widnos程序,   
  通过这个windows窗口来控制ftp的输入、输出     
    
  我重定向了ftp的标准输入、输出   
  CreatePipe(&hOutRead,&hOutWrite,&sa,0)   
  CreatePipe(&hInRead,&hInWrite,&sa,0)   
    
  STARTUPINFO   si;   
  PROCESS_INFORMATION   pi;     
  si.cb   =   sizeof(STARTUPINFO);   
  GetStartupInfo(&si);     
  si.hStdInput   =   hInRead;   
  si.hStdError   =   hOutWrite;   
  si.hStdOutput   =   hOutWrite;   
  si.wShowWindow   =   SW_HIDE;   
  si.dwFlags   =   STARTF_USESHOWWINDOW   |   STARTF_USESTDHANDLES;   
  CreateProcess(NULL,"C:\\WINDOWS\\system32\\cmd.exe   /c   ftp   127.0.0.1   "   
  ,NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi)   
    
  一切正常   
  1.获得ftp的输出:ReadFile(hOutRead,buffer,4095,&bytesRead,NULL)     
  【User   (127.0.0.1:(none)):】   
  2.输入用户名:m_editWrite   =   "myusername"   
  WriteFile(hInWrite,(LPCVOID)m_editWrite,m_editWrite.GetLength(),&BytesWritten,NULL)   
  works   ok!   
  3.再次获得输出:   
  ReadFile(hOutRead,buffer,4095,&bytesRead,NULL)     
  问题出现了,程序在这里挂起!   
    
  分析:可能是输入PIPE没有FLUSH,   改动后m_editWrite   =   "myusername\r\n"仍不行,   
    
  请问高手:如何作才能让这一读一写的操作顺利进行?   
    
  不知大家有没有遇到过类似的问题