等待指定的进程存在.
PID := ProcessWait(PIDOrName , Timeout)
指定数字(PID) 或进程名:
PID: 进程 ID, 唯一标识一个特定进程的数字(只有在此进程的生存期这个数字才有意义). 新运行的进程的 PID 可以通过 Run 函数获取. 同样的, 窗口的 PID 可以通过 WinGetPID 获取. ProcessExist 也可以用来获取 PID.
Name: 进程的名称, 通常和它的可执行文件名相同(不带路径), 例如 notepad.exe 或 winword.exe. 由于一个名称可能与多个正在运行的进程匹配, 因此将仅对第一个进程进行操作. 名称不区分大小写.
如果忽略, 该函数将无限期地等待. 否则, 指定在超时之前等待的秒数(可以包含小数).
类型: 整数
如果发现了指定的进程, 该函数返回该进程的进程 ID (PID). 如果函数超时, 则返回 0.
进程每 100 毫秒检查一次; 当条件满足时, 函数停止等待. 换句话说, 它不会等待超时过期, 而是立即返回并继续执行脚本. 此外, 当函数处于等待状态时, 可以通过热键, 自定义菜单项或计时器启动新的线程.
ProcessWaitClose, Run, WinWait, Process 函数, Win 函数
对于记事本的出现, 最多等待 5.5 秒. 如果记事本出现在此秒数内, 则其优先级设置为 "Low", 并且脚本自身的优先级设置为 "High". 之后, 记事本将被关闭, 如果在 5 秒内未关闭, 将显示一个消息框.
NewPID := ProcessWait("notepad.exe", 5.5) if not NewPID { MsgBox "The specified process did not appear within 5.5 seconds." return } ; 否则: MsgBox "A matching process has appeared (Process ID is " NewPID ")." ProcessSetPriority "Low", NewPID ProcessSetPriority "High" ; 把脚本自己设置为高优先级. WinClose "Untitled - Notepad" WaitPID := ProcessWaitClose(NewPID, 5) if WaitPID ; PID 仍然存在. MsgBox "The process did not close within 5 seconds."