软件注册站
热情软件屋

 
用CreateProcess()调用dos的程序,如何把输出重定向到一个文件
编号: QA003501    
建立日期: 2000年11月6日 最后修改日期: 2000年11月6日
所属类别: C/C++ - Windows API
   
    操作系统: windows
    编程工具: VC
    问题: 我在基于windows的主程序中用CreateProcess()调用了一个基于dos的程序x.exe,
    我用下面语句使x.exe运行时不出现dos窗口.
    stStartUpInfo.dwFlags = STARTF_USESHOWWINDOW;
    stStartUpInfo.wShowWindow = SW_HIDE;
    我想把x.exe的输出重定向到一个文件,让CreateProcess()的参数lpCommandLine="x.exe > x.txt"并不管用。不知应该怎么做?请大侠指教。
    水平: 刚入门(dickens)
   
    由于使用CreateProcess启动应用程序时,它并没有使用DOS Shell来解释它,所以它不能识别“>”操作符号,而仅仅是把它当成一个运行使用的命令行参数而已。所以这种调用方式是不行的。
    主持人注:一个办法是采用建立一个批文件的办法,可以参考QA003225 "如何得到DOS SHELL窗口中的文字"。另一个办法是在调用CreateProcess时指定输出管道,参考QA001105 "如何将其它应用程序的运行过程在窗口内进行显示"

    

此问题由廖显刚回答。

附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, Windows API, win32, api, windows api, gdi32, kernel

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio