如何运行一个DOS命令(50分)

  • 主题发起人 主题发起人 Jao
  • 开始时间 开始时间
J

Jao

Unregistered / Unconfirmed
GUEST, unregistred user!
比如说在一个EDIT中键入dir命令,回车便可运行,把结果显示在DOS窗口或
一个TXT文件中。
 
winexec(pchar('command.com /c '+edit1.text+
'> c:/text1.txt'),sw_hide);
将结果写入c:/text1.txt中
 
后面的参数用 sw_show 就可以打开一个Dos窗口,并把结果显示在Dos窗口中。

不光能用Winexec,还能用ShellExecute和ShellExecute,虽然功能强大,但是很烦
 
谢谢先进!
不过还想问一下,如果我想把结果显示在自己定义的窗口或编辑框中可以吗?
 
先按glassguo的方法得到TXT文件,然后再用Tstringlist读出来,不就行了。
 
得到文本文件后,用LoadFromFile( TStringList或者TMemo的都可以)读出来,再
放到String里头,然后直接显示在您的窗口(放一个TLabel或者用Textout在Canvas
上画出来)或编辑框(Edit1.Text)里就行了。
 
啊!晚了
整理一下吧,//不要给我分
winexec(pchar('command.com /c '+edit1.text+
'> c:/text1.txt'),sw_hide);//not written by cj
Memo1.items.loadfromfile('c:/text1.txt');//you could also use listbox
or otheer component

 
这样写会出问题的。
别忘了,winexec是不等待的,即memo1.items.loadfromfile执行时,
winexec可能还没有把结果写进去,
如果要等待,需要其他方法。
 
Yes the error is mine
try createprocess
 
太久了,盗词结束
 
多人接受答案了。
 
后退
顶部