现在的位置: 首页 > 综合 > 正文

Inno Setup 小技巧2–Shellexec

2012年02月19日 ⁄ 综合 ⁄ 共 826字 ⁄ 字号 评论关闭

Inno Setup 的Shellexec的功能类似乎Windows API 的ShellExecute函数,执行某种操作,可以是开启一个进程,可以打开一个浏览器等等。

不过,Inno Setup 的Shellexec有一个优点,这个优点体现在第六个参数上。

 

首先看shellexec:

 

function ShellExec(

                             const Verb,

                             Filename,

                             Params, 

                             WorkingDir: String;

                             const ShowCmd: Integer;

                             const Wait: TExecWait;

                             var ErrorCode: Integer): Boolean;

第一个参数表示执行的动作,一般开启一个进程可以使用'open',第二个参数就是表示进程名,包含路径,第三个参数表示命令行参数,第四个参数是工作路径,第五个参数表示是否显示,第七个参数是一个错误码。

 

第六个参数表示如下:

TExecWait = (ewNoWait, ewWaitUntilTerminated, ewWaitUntilIdle);

如果使用ewNoWait,那么ShellExec开启进程以后立即返回。

如果使用ewWaitUntilTerminated,则ShellExec开启进程以后阻塞,知道被开启的进程终止以后才返回。

如果使用ewWaitUntilIdle,则ShellExec在CPU空闲的时候返回。

 

其中ewWaitUntilTerminated很有用,这样可以在一个安装程序中随意的控制执行其他的操作。

抱歉!评论已关闭.