Как приостановить выполнение script изнутри? Что-то вроде функции Sleep WinAPI?
Как приостановить выполнение vbscript?
Ответ 1
Вы можете использовать объект WScript
и вызвать метод Sleep
:
Set WScript = CreateObject("WScript.Shell")
WScript.Sleep 2000 'Sleeps for 2 seconds
Другой вариант - импортировать и использовать функцию WinAPI непосредственно (работает только в VBA, спасибо @Helen):
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sleep 2000
Ответ 2
Script snip ниже создает вспомогательную паузу, которая отображает текст паузы в строке и ждет клавишу Enter. z может быть любым. Отлично, если требуется многопользовательское вмешательство, необходимы паузы. Я просто сохраняю его в стандартном шаблоне script.
Pause("Press Enter to continue")
Sub Pause(strPause)
WScript.Echo (strPause)
z = WScript.StdIn.Read(1)
End Sub
Ответ 3
С 'Enter' лучше использовать ReadLine() или Read (2), потому что ключ 'Enter' генерирует 2 символа. Если пользователь вводит любой текст, следующий Pause() также будет пропущен даже с помощью Read (2). Так что ReadLine() лучше:
Sub Pause()
WScript.Echo ("Press Enter to continue")
z = WScript.StdIn.ReadLine()
End Sub
Дополнительные примеры смотрите в http://technet.microsoft.com/en-us/library/ee156589.aspx