启动外部程序并等待它结束(2)
2008-04-09 04:28:22来源:互联网 阅读 ()
nil, nil, SW_SHOW);* 用Windows Explorer打开一个文件夹:
ShellExecute(Handle, ''''explore'''', PChar(''''c:\windows)'''',
nil, nil, SW_SHOW);
* 运行一个DOS命令并立即返回:
ShellExecute(Handle, ''''open'''', PChar(''''command.com''''),
PChar(''''/c copy file1.txt file2.txt''''), nil, SW_SHOW);
* 运行一个DOS命令并保持DOS窗口打开 ("stay in DOS"):
ShellExecute(Handle, ''''open'''', PChar(''''command.com''''),
PChar(''''/k dir''''), nil, SW_SHOW);
启动一个外部程序并不难吧?不过,我们如何知道它是否运行结束了呢?我们的程序又怎样等待它结束呢?
三、启动外部程序并等待它结束的函数
我们可以通过进程句柄(process handle)来查看进程(程序)是否结束。为了得到进程句柄,有两个Win32 API函数可以利用:ShellExecuteEx 或者CreateProces。解决这个问题最简单的方法是,使用ShellExecuteEx启动一个外部程序,然后使用WaitForSingleObject管理这个外部程序的进程句柄。我们可以这样定义一个函数:
……
{ ExecAppWait:功能:运行外部程序并等待它结束。。
运行外部程序APPNAME,参数PARAMS;
Returns:如果外部程序出错返回 FASLE
}
function ExecAppWait(AppName, Params: string): Boolean ;
……
function ExecAppWait(AppName, Params: string): Boolean;
var
// Structure containing and receiving info about application to start
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
