我有一个Delphi 7(不是2007)应用程序(让我们称之为App1.exe) IDE认为是GUI应用程序,但在DPR中,编译器 指令使其进入控制台应用程序。示例:在Delphi控制台应用程序中实现输入/输出重定向
{$IFDE MAKE_CONSOLE}
{$APPTYPE CONSOLE}
{$ENDIF MAKE_CONSOLE}
在构建过程中,可能会定义MAKE_CONSOLE。
我遇到的问题是我们有另一个控制台应用程序 (比如说App2.exe)使用WinAPI CreateProcess运行App1.exe。当 是发生时,从App1.exe输出为不通时 App1.exe被直接从命令行(cmd.exe的)跑到被:-(看出,输出在命令行窗口中显示 。
什么我猜是我需要输出从App1.exe在 重定向的CreateProcess,使用STARTUPINFO结构我不知道什么 我打算在这里做
其他信息: *“dwCreationFlags”正在使用的是:CREATE_NEW_PROCESS_GROUP + NORMAL_PRIORITY_CLASS + DEBUG_PROCESS(是,App2调试App1)
'bInheritHandles'是错误的(这是否需要更改?)。
'lpProcessAttributes'和'lpThreadAttributes'均为零, 'lpEnvironment'和'lpCurrentDirectory'为零。
我是否错过了帮助我需要的任何信息?
任何指针都会很棒!
非常感谢提前。
请注意,是作为“GUI控制台”应用程序没有这样的事。它是一个或另一个。既然你已经设置了APPTYPE CONSOLE设置,你的程序就是一个控制台程序。 IDE在项目选项中显示的内容无关紧要;它被代码欺骗了。 – 2010-08-26 21:56:21
似乎App1.exe有三种构建方法:Gui,Text输出和XML文件输出,并且我正在测试构建它时生成XML文件输出(因此没有输出到控制台)。 感谢大家的建议! – 2010-09-13 20:02:27