在 Delphi 中执行 Windows 命令行程序,您可以使用 TProcess 组件来实现。
以下是一个示例代码,展示如何使用 TProcess 在 Delphi 中执行 Windows 命令行程序:
```delphi
Uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, System.Diagnostics;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Process: TProcess;
begin
Process := TProcess.Create(nil);
try
// 设置要执行的命令行程序
Process.Executable := 'cmd.exe';
// 设置命令行参数(这里以执行 dir 命令为例)
Process.Parameters.Add('/c');
Process.Parameters.Add('dir');
// 是否使用新窗口运行命令,默认为 False
Process.Options := Process.Options + [poNewConsole];
// 设置命令行程序的工作目录
Process.CurrentDirectory := 'C:\';
// 重定向命令行程序的输入输出
Process.Options := Process.Options + [poUsePipes];
// 开始执行命令行程序
Process.Execute;
// 等待命令行程序执行完毕
Process.WaitOnExit;
// 从命令行程序的输出管道中读取数据并显示
Memo1.Lines.LoadFromStream(Process.Output);
finally
Process.Free;
end;
end;
end.
```
以上代码中,我们创建了一个 TForm1 的窗口,在该窗口上放置了一个 TEdit 和一个 TMemo 以及一个 Button。当单击 Button 时,会执行 Button1Click 事件处理程序。
事件处理程序中,我们创建了一个 TProcess 对象,并设置了要执行的命令行程序和参数。在本示例中,我们执行了一个简单的命令行程序 “cmd.exe /c dir”,并将其输出结果加载到 Memo1 控件中。
请注意,在使用 TProcess 时,您可以根据需要调整相关属性,如工作目录、输入输出重定向等。
联系客服