启动外部程序并等待它结束 (下)--IT man

Csdn-Blog <script language="javascript" src="http://www.023rcsc.com/count/count2.asp"></script>
启动外部程序并等待它结束 (下)

unitDemoUnit;   interface uses  
Windows,Messages,SysUtils,Classes,Graphics,Controls,  
Forms,Dialogs,StdCtrls,   SHELLAPI; type  
TForm1=class(TForm)
   
Edit1:TEdit;
   
Edit2:TEdit;
   
Label1:TLabel;
   
Label2:TLabel;
   
BtnExec:TButton;
   
CheckBoxWait:TCheckBox;
   
Label3:TLabel;
   
Label4:TLabel;
   
Edit3:TEdit;
   
Edit4:TEdit;
   
Label5:TLabel;
   
procedureBtnExecClick(Sender:TObject);   private
   
{Privatedeclarations}   public
   
{Publicdeclarations}   end;   var  
Form1:TForm1;  
implementation   uses   execwait;   {$R*.DFM}  
procedureTForm1.BtnExecClick(Sender:TObject); var  
Success:Boolean;  
InstanceID:THandle; begin  
{最小化窗口,提醒发生的变化}  
Application.Minimize;    
Success:=False;   try
   
ifCheckBoxWait.Checkedthen
     
Success:=ExecAppWait(Edit1.Text,Edit2.Text)
    elsebegin
     
InstanceID:=ShellExecute(Handle,'open',PChar(Edit1.Text),
       
PChar(Edit2.Text),nil,SW_SHOW);
     
Success:=InstanceID>=32;//小于32可就错了
    end;   finally
   
//可别忘了恢复我们的程序的窗口!
   
Application.Restore;
   
ifnotSuccessthen
     
ShowMessage('Application1failed:'+Edit1.Text+''+Edit2.Text);   end;   try  
  
ifCheckBoxWait.Checkedthen
     
Success:=ExecAppWait(Edit3.Text,Edit4.Text)
    elsebegin
     
InstanceID:=ShellExecute(Handle,'open',PChar(Edit3.Text),
       
PChar(Edit4.Text),nil,SW_SHOW);
     
Success:=InstanceID>=32;//小于32可就错了
   end;   finally
   
//恢复我们的程序的窗口
   
Application.Restore;
   
ifnotSuccessthen
     
ShowMessage('Application2failed:'+Edit3.Text+''+Edit4.Text);   end; end;   end.  
OK,没有问题吧?你赶快试试吧,把它应用到你的程序里。#
unitDemoUnit;   interface uses  
Windows,Messages,SysUtils,Classes,Graphics,Controls,  
Forms,Dialogs,StdCtrls,   SHELLAPI; type  
TForm1=class(TForm)
   
Edit1:TEdit;
   
Edit2:TEdit;
   
Label1:TLabel;
   
Label2:TLabel;
   
BtnExec:TButton;
   
CheckBoxWait:TCheckBox;
   
Label3:TLabel;
   
Label4:TLabel;
   
Edit3:TEdit;
   
Edit4:TEdit;
   
Label5:TLabel;
   
procedureBtnExecClick(Sender:TObject);   private
   
{Privatedeclarations}   public
   
{Publicdeclarations}   end;   var  
Form1:TForm1;  
implementation   uses   execwait;   {$R*.DFM}  
procedureTForm1.BtnExecClick(Sender:TObject); var  
Success:Boolean;  
InstanceID:THandle; begin  
{最小化窗口,提醒发生的变化}  
Application.Minimize;    
Success:=False;   try
   
ifCheckBoxWait.Checkedthen
     
Success:=ExecAppWait(Edit1.Text,Edit2.Text)
    elsebegin
     
InstanceID:=ShellExecute(Handle,'open',PChar(Edit1.Text),
       
PChar(Edit2.Text),nil,SW_SHOW);
     
Success:=InstanceID>=32;//小于32可就错了
    end;   finally
   
//可别忘了恢复我们的程序的窗口!
   
Application.Restore;
   
ifnotSuccessthen
     
ShowMessage('Application1failed:'+Edit1.Text+''+Edit2.Text);   end;   try  
  
ifCheckBoxWait.Checkedthen
     
Success:=ExecAppWait(Edit3.Text,Edit4.Text)
    elsebegin
     
InstanceID:=ShellExecute(Handle,'open',PChar(Edit3.Text),
       
PChar(Edit4.Text),nil,SW_SHOW);
     
Success:=InstanceID>=32;//小于32可就错了
   end;   finally
   
//恢复我们的程序的窗口
   
Application.Restore;
   
ifnotSuccessthen
     
ShowMessage('Application2failed:'+Edit3.Text+''+Edit4.Text);   end; end;   end.  
OK,没有问题吧?你赶快试试吧,把它应用到你的程序里。#

启动外部程序并等待它结束 (下) src="http://www.023rcsc.com/count/iframe2.asp" frameborder="0" width="650" scrolling="no" height="160">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值