gpt4 book ai didi

delphi - 如何在我的 Delphi 控制台应用程序中运行控制台应用程序?

转载 作者:行者123 更新时间:2023-12-03 23:28:47 25 4
gpt4 key购买 nike

我希望我的控制台应用程序启动另一个控制台应用程序,显示另一个应用程序想要显示的所有内容,然后在另一个应用程序完成并退出后执行某些操作。基本上:

Writeln('Started');
ShellExecute(0, 'open', 'another.exe', nil, nil, SW_SHOWNORMAL);
Writeln('Finished');

那么如何在我的控制台应用程序中显示来自另一个控制台应用程序的所有输出?我不想捕获其他应用程序的输出。我只想在同一个命令行窗口中执行另一个应用程序。

最佳答案

你可能想尝试这样的事情:

program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
Windows, SysUtils;

var
cl: string;
SI: TStartupInfo;
PI: TProcessInformation;

begin

cl := 'C:\WINDOWS\System32\ping.exe 127.0.0.1';
UniqueString(cl);

try
try
writeln('begin');
FillChar(SI, sizeof(SI), 0);
FillChar(PI, sizeof(PI), 0);
SI.cb := sizeof(SI);

if not CreateProcess(nil, PChar(cl), nil, nil, true, 0, nil, nil, SI, PI) then
RaiseLastOSError;

WaitForSingleObject(PI.hProcess, INFINITE);

CloseHandle(PI.hProcess);
CloseHandle(PI.hThread);

writeln('end');
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
finally
Writeln('Complete');
Readln;
end;


end.

关于delphi - 如何在我的 Delphi 控制台应用程序中运行控制台应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51993496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com