Delphi 程序中执行 CMD 命令
在 Delphi 中,您可以使用管道(Pipe)与 CMD 交互,执行 DOS 命令并获取结果。
您可以使用 TProcess
类创建新进程,并设置 Options
属性以使用管道。通过 RedirectStandardInput
和 RedirectStandardOutput
属性,您可以重定向标准输入和输出流,从而与 CMD 进程进行通信。
以下是一个简单的示例,演示如何在 Delphi 中执行 dir
命令并获取结果:
uses
Classes, SysUtils;
procedure TForm1.Button1Click(Sender: TObject);
var
Process: TProcess;
ProcessInput, ProcessOutput: TStringStream;
Line: string;
begin
ProcessInput := TStringStream.Create;
ProcessOutput := TStringStream.Create;
try
Process := TProcess.Create(nil);
try
Process.CommandLine := 'cmd.exe /C dir'; // 使用 /C 参数在命令执行后关闭 CMD
Process.Options := Process.Options + [poUsePipes];
Process.ShowWindow := swoHide; // 隐藏 CMD 窗口
Process.Execute;
Process.Output.ReadStream := ProcessOutput;
Process.WaitForExit;
ProcessOutput.Position := 0;
while not ProcessOutput.EOF do
begin
Line := ProcessOutput.ReadLine;
Memo1.Lines.Add(Line); // 将结果显示在 Memo 控件中
end;
finally
Process.Free;
end;
finally
ProcessInput.Free;
ProcessOutput.Free;
end;
end;
这段代码创建了一个新的 CMD 进程,执行 dir
命令,并将结果读取到 Memo 控件中。
207.64KB
文件大小:
评论区