ShellExecuteWait

首页  后退  前进

ShellExecuteWait
down2

ShellExecuteWait

使用 ShellExecute API 运行外部程序, 并暂停脚本执行, 直到程序完成.

 

ShellExecuteWait ( "filename" [, "parameters" [, "workingdir" [, "verb" [, showflag]]]] )

参数

filename

运行文件的名称(类型为 .exe, .txt, .lnk, 等等).

parameters

[可选] 程序运行时需要的参数. 空白("")为没有参数.

workingdir

[可选] 工作目录. 空白 ("") 使用当前工作目录.

verb

[可选] 使用 "verb" ,常见 verb 包含:

   $SHEX_OPEN ("open") = 打开指定文件. 文件可以是可执行文件, 文档或文件夹

   $SHEX_EDIT ("edit") = 启动编辑器, 并打开指定的文档. 如果 "文件名" 不是文档文件, 函数将失败

   $SHEX_PRINT ("print") = 打印指定的文档文件. 如果 "文件名" 不是文档文件, 函数将失败

   $SHEX_PROPERTIES ("properties") = 显示文件或者文件夹的属性.

更多信息见备注, 默认没有指定的 "verb".

 

常量定义在 "AutoItConstants.au3"

showflag

[可选] 程序执行时的显示状态:

   @SW_HIDE = 隐藏窗口

   @SW_MINIMIZE = 最小化窗口

   @SW_MAXIMIZE = 最大化窗口

返回值

成功:

返回外部程序结束时的退出代码.

失败:

@error 设置 为非 0 值.

备注

程序运行之后, 脚本会被暂停, 直到程序终止运行

 

如果没有指定 verb, 则使用默认 verb 方式. 默认 verb 是注册表配置的 verb.

如果注册表没有 verb 默认设置, 则 verb 使用 "open" 值.

如果"open" 也不存在, 则使用注册表列出的第一个 verb 值.

 

函数示例

#include <MsgBoxConstants.au3>
Example()
Func Example()
    ; Execute Notepad and wait for the Notepad process to close.
    Local $iReturn = ShellExecuteWait("notepad.exe")
    ; Display the return code of the Notepad process.
    MsgBox($MB_SYSTEMMODAL, "", "The return code from Notepad was: " & $iReturn)
EndFunc   ;==>Example

----------------------------------------

参见:

ShellExecute, Run, RunWait, RunAs, RunAsWait

例子
copy

exect=ShellExecuteWait('notepad.exe') ;; 启动"记事本",并暂停单元的操作,直到关闭

 

exect=$var_sf='%P%N'||$var_st='C:\TempHH\'||ShellExecuteWait('hh','-decompile~~'&'$var_st'&'~~'&'$var_sf') movee=$var_st||<info=o75%P%N//>//0||<info=o72%P%N//>||upd<1> ;; 在名称文件夹中的活动面板中的光标下解压缩chm(在TempHH目录中初步解包并移动到活动面板)

 

exect=$var_sf='%P%N'||$var_st='C:\TempHH\'||ShellExecuteWait('hh','-decompile~~'&'$var_st'&'~~'&'$var_sf') movee=$var_st||<info=o75%P%N//>//0||<info=o72%P%N//> delsm=%P%N||1||upd<1> ;; 在名称文件夹中的活动面板中的光标下解压缩chm(在TempHH目录中初步解包并移动到活动面板),删除源

up2

tcimage © Аверин Андрей для Total Commander Image Averin-And@yandex.ru