<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; HTA: использование WScript.Sleep()]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=1110</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=1110&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «HTA: использование WScript.Sleep()».]]></description>
		<lastBuildDate>Sat, 02 Feb 2008 07:58:26 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[HTA: использование WScript.Sleep()]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=8566#p8566</link>
			<description><![CDATA[<p>Файл <strong>WScript.js</strong> (он будет вызываться из HTA):<br /></p><div class="codebox"><pre><code>var ShellWindows=(new ActiveXObject(&quot;Shell.Application&quot;)).Windows();
for (var i=0; i&lt;ShellWindows.Count; i++)
  try {
    var Script=ShellWindows.Item(i).Document.Script;
    if (Script.name==&quot;mailbox&quot;) {
      Script.Callback(WScript);
      for (;;) WScript.Sleep(60000);
    }
  } catch (Err) {}</code></pre></div><p>Сам файл HTA, в котором будет вызываться WScript.Sleep:<br /></p><div class="codebox"><pre><code>&lt;HTML&gt;
&lt;HEAD&gt;
&lt;META http-equiv=&#039;Content-Type&#039; content=&#039;text/html; charset=windows-1251&#039;&gt;

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

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

onunload=function () {WScript.Quit()};
// --&gt;&lt;/SCRIPT&gt;
&lt;/HEAD&gt;

&lt;BODY onClick=&#039;alert(&quot;Раз&quot;); WScript.Sleep(5000); alert(&quot;Два&quot;);&#039;&gt;
При щелчке мышью по странице будет выведено сообщение &quot;Раз&quot;,
а затем через 5&amp;nbsp;сек. сообщение &quot;Два&quot;. Задержка между сообщениями
создаётся с помощью метода WScript.Sleep().
&lt;/BODY&gt;&lt;/HTML&gt;</code></pre></div><p>При щелчке мышью по странице будет выведено сообщение &quot;Раз&quot;, а затем через 5 сек. сообщение &quot;Два&quot;.<br />Автор примера - <strong>wisgest</strong>.</p>]]></description>
			<author><![CDATA[null@example.com (The gray Cardinal)]]></author>
			<pubDate>Sat, 02 Feb 2008 07:58:26 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=8566#p8566</guid>
		</item>
	</channel>
</rss>
