我有一個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