执行一个命令行程序,怎么获取该命令的返回值???(300分)

  • 主题发起人 主题发起人 catfox
  • 开始时间 开始时间
C

catfox

Unregistered / Unconfirmed
GUEST, unregistred user!
1<br>通过shellexecute可以执行一个外部程序,我想当这个外部程序执行完后,获取其返回值<br>2<br>当我执行一个dir命令后,我又怎么获取该命令的结果?(目录与文件消息)<br><br><br><br>thx
 
1 看shellexecute帮助啊 有Return Values说明<br>2 可否通过显示命令窗口显示结果,参数用SW_SHOW
 
1<br>小弟对WINAPI不是很熟,大侠能否给个delphi调用的代码看看,怎么使用那个instance??<br><br>2<br>其实这个功能我不是很需要,因为我调用的那个程序可以把结果保存到一个文本,我只是想看有没有更直接的方法获取该命令的输出结果 &nbsp; ^_^<br><br>thx<br>
 
2.我以前用"DIR *.* &gt; t.txt", 再对t.txt进行进一步处理。<br>我想对文本文件应该好处理的。
 
1.用CreateProcess可以通过GetExitCodeProcess取得,ShellExecute不知道<br>2.用CreateProcess吧,可以在lpStartupInfo中指定输出(用CreatePipe创建).
 
var &nbsp;i:cardinal;<br>begin<br>i:=ShellExecute(handle, nil,'notepad.exe', nil, nil, SW_SHOWNORMAL);<br>&nbsp; showmessage(inttostr(i));<br>end;
 
2、<br>dir &gt;dir.txt<br>
 
在dos用重定向,就象楼上几位讲的那样
 
用dos重定向 如“ C:/&gt;dir &gt;C:/list.txt”<br>就搞定!
 
多看看帮助
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
745
SUNSTONE的Delphi笔记
S
S
回复
0
查看
754
SUNSTONE的Delphi笔记
S
后退
顶部