关于Delphi实现cmd效果的。 我找了很久啊,希望这次能实现

来源:百度知道 编辑:UC知道 时间:2024/06/26 01:02:45
老大们,偶问个题,关于Delphi实现cmd效果的。 我找了很久啊,希望这次能实现
假设新建Form1,放置 Edit1,Memo1,Button1
我想实现在Edit1里输入任意DOS命令譬如ping 127.0.0.1,然后按Button1时执行edit1中输入的命令,并将结果显示在Memo1.text里。
我不想输出到文本txt中,我想直接输出到Memo1.text里~~
您们在百忙中帮帮偶吧~~
感激不进啊 QQ:494989797 delphi QQ群:47162537 我自己刚刚建的。

我哟个新手 没啥子分 大家一定要帮我啊
先谢老

这要通过windows管道技术才能实现。

找了一个方法:
unit StdOutMain;

interface

uses
Windows, SysUtils, Classes, Controls, Forms, StdCtrls;

type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);

private
{ Private declarations }
public
procedure RunDosInMemo(const DosApp: string; AMemo: TMemo);
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.RunDosInMemo(const DosApp: string; AMemo: TMemo);
const
{设置ReadBuffer的大小}
ReadBuffer = 2400;
var
Security: TSecurityAttributes;
ReadPipe, WritePipe: THandle;
start: TStartUpInfo;
ProcessInfo: TProcessInformation;
Buffer: PChar;
BytesRead: DWord;
Buf: string;
begin
with Security do
begin
nlength := SizeOf