在自己程序中随时监听到DOS窗口的内容,并显示。怎么能将两者联系起来呢,谢谢

解决方案 »

  1.   

    用Pipe重定向,www.VCCode.net里面有完整的例子
      

  2.   

    up  editplus 上也实现了
      

  3.   

    用CreateProcess启动DOS程序,
    BOOL CreateProcess(
      LPCTSTR lpApplicationName,                 // name of executable module
      LPTSTR lpCommandLine,                      // command line string
      LPSECURITY_ATTRIBUTES lpProcessAttributes, // SD
      LPSECURITY_ATTRIBUTES lpThreadAttributes,  // SD
      BOOL bInheritHandles,                      // handle inheritance option
      DWORD dwCreationFlags,                     // creation flags
      LPVOID lpEnvironment,                      // new environment block
      LPCTSTR lpCurrentDirectory,                // current directory name
      LPSTARTUPINFO lpStartupInfo,               // startup information
      LPPROCESS_INFORMATION lpProcessInformation // process information
    );
    注意在传过去的StartupInfo中指定hStdOutput和hStdError(可以相同),别忘了在dwFlags 中加上STARTF_USESTDHANDLES和STARTF_USESTDHANDLESs标志。
    等DOS程序执行完后(WaitForSingleObject())就可以从上面的两个句柄中取结果。