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;
procedure BtnExecClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses
execwait;
{$R *.DFM}
procedure TForm1.BtnExecClick(Sender: TObject);
var
Success: Boolean;
InstanceID: THandle;
begin
{ 最小化窗口,提醒发生的变化 }
Application.Minimize;
Success := False;
try
if CheckBoxWait.Checked then
Success := ExecAppWait(Edit1.Text, Edit2.Text)
else begin
InstanceID := ShellExecute(Handle, ''''open'''', PChar(Edit1.Text),
PChar(Edit2.Text), nil, SW_SHOW);
Success := InstanceID >= 32; // 小于32可就错了
end;
finally
// 可别忘了恢复我们的程序的窗口!
Application.Restore;
if not Success then
ShowMessage(''''Application 1 failed: '''' + Edit1.Text + '''' '''' + Edit2.Text);
end;
try
if CheckBoxWait.Checked then
Success := ExecAppWait(Edit3.Text, Edit4.Text)
else begin
InstanceID := ShellExecute(Handle, ''''open'''', PChar(Edit3.Text),
PChar(Edit4.Text), nil, SW_SHOW);
Success := InstanceID >= 32; //小于32可就错了
end;
finally
//恢复我们的程序的窗口
Application.Restore;
if not Success then
ShowMessage(''''Application 2 failed: '''' + Edit3.Text + '''' '''' + Edit4.Text);
end;
end;
end.
OK,没有问题吧?你赶快试试吧,把它应用到你的程序里。#
上一页 [1] [2] 没有相关教程
|