RunWait

首页  后退  前进

RunWait
down2

RunWait

运行外部程序并暂停脚本执行,直到程序结束.

 

RunWait ( "program" [, "workingdir" [, show_flag [, opt_flag]]] )

参数

program

运行程序的完整路径(文件类型: EXE, BAT, COM, 或 PIF, 见备注).

workingdir

[可选] 工作目录, 空白("")使用当前工作目录. 这不是程序的路径.

show_flag

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

 @SW_HIDE = 隐藏窗口 (或使用关键字 Default)

 @SW_MINIMIZE = 最小化窗口

 @SW_MAXIMIZE = 最大化窗口

opt_flag

[可选] 控制父进程与子进程互动.

 0x10000 ($RUN_CREATE_NEW_CONSOLE) = 子控制台进程应设立自己的窗口, 而不是使用父窗口. 当父层作为控制台应用被编译时, 这个标志非常有用.

返回值

成功:

返回程序的退出代码.

失败:

@error 设置 为非 0 值.

备注

如果路径包含空格,必须添加英文引号.

 

要运行 DOS 命令, 请使用 RunWait(@ComSpec & " /c " & "commandName")    ; 不要忘记 "/c" 前面的空格

 

程序运行时脚本将暂停执行, 直到该程序终止为止. 若要运行程序后立继续执行脚本, 请使用 Run() 函数代替.

 

一些程序运行时会立即出现返回, 即使他们仍然在运行, 这些程序会产生另一个进程. 可以使用 ProcessWaitClose() 函数来处理这些案例.

 

函数示例

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

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

参见:

ProcessWait, ProcessWaitClose, Run, ShellExecute, ShellExecuteWait, RunAs, RunAsWait

例子
copy

exect=RunWait('notepad.exe')||MsgBox(4096,'''','программа~~закрыта') ;; 启动"记事本",并暂停单元的操作,直到关闭

 

infht=0||InfoHtml1 dubls=2 exect=RunWait(@ComSpec&'~~/k','''') ;; 显示消息,并在不同的进程中启动命令控制台ut或t

up2

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