1

Тема: HTA: использование WScript.Sleep()

Файл WScript.js (он будет вызываться из HTA):

var ShellWindows=(new ActiveXObject("Shell.Application")).Windows();
for (var i=0; i<ShellWindows.Count; i++)
  try {
    var Script=ShellWindows.Item(i).Document.Script;
    if (Script.name=="mailbox") {
      Script.Callback(WScript);
      for (;;) WScript.Sleep(60000);
    }
  } catch (Err) {}

Сам файл HTA, в котором будет вызываться WScript.Sleep:

<HTML>
<HEAD>
<META http-equiv='Content-Type' content='text/html; charset=windows-1251'>

<SCRIPT language='JavaScript' type='text/javascript'><!--
var WScript=null;
var IE=new ActiveXObject("InternetExplorer.Application");
IE.Navigate("about:blank");
// здесь не помешала бы проверка на IE.Busy==false,
// однако, метод WScript.Sleep() пока не доступен,
// а window.setTimeout() усложнило бы пример. 
IE.Document.Script.name="mailbox";
IE.Document.Script.Callback=function (arg) {
  WScript=arg; IE.Quit();
};

var WshShell=new ActiveXObject("WScript.Shell");
WshShell.Run("WScript.js", 0);

onunload=function () {WScript.Quit()};
// --></SCRIPT>
</HEAD>

<BODY onClick='alert("Раз"); WScript.Sleep(5000); alert("Два");'>
При щелчке мышью по странице будет выведено сообщение "Раз",
а затем через 5&nbsp;сек. сообщение "Два". Задержка между сообщениями
создаётся с помощью метода WScript.Sleep().
</BODY></HTML>

При щелчке мышью по странице будет выведено сообщение "Раз", а затем через 5 сек. сообщение "Два".
Автор примера - wisgest.

Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.