<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; JScript: Создание окна, а также трансляция WScript в HTA]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=4196&amp;type=atom" />
	<updated>2012-12-28T21:07:53Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=4196</id>
		<entry>
			<title type="html"><![CDATA[Re: JScript: Создание окна, а также трансляция WScript в HTA]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=67990#p67990" />
			<content type="html"><![CDATA[<p>wisgest, спасибо. Идея общения через файл мне не очень нравится, но если не удастся по другому, действительно, возможный вариант.<br />А можно как-то из HTA приложения получить доступ к родительскому объекту WebBrowser? Если да, то, как я понимаю, проблему можно будет решить при помощи метода <a href="http://msdn.microsoft.com/en-us/library/cc836576%28VS.85%29.aspx">IShellWindows::Register</a></p>]]></content>
			<author>
				<name><![CDATA[Aaroniero]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25222</uri>
			</author>
			<updated>2012-12-28T21:07:53Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=67990#p67990</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: Создание окна, а также трансляция WScript в HTA]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=67532#p67532" />
			<content type="html"><![CDATA[<p>Возможное решение, требующее проработки:<br /></p><div class="codebox"><pre><code>HTA=WshShell.Exec(&#039;mshta.exe &quot;javascript:var FSO=new ActiveXObject(&quot;Scripting.FileSystemObject&quot;),StdIn=FSO.GetStandardStream(0);eval(StdIn.ReadLine());&quot;&#039;);</code></pre></div><p>(вместо <em>eval()</em> может быть <em>document.write()</em>) и взаимодействовать через стандартные потоки ввода-вывода.</p>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2012-12-24T15:50:47Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=67532#p67532</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: Создание окна, а также трансляция WScript в HTA]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=67490#p67490" />
			<content type="html"><![CDATA[<p>wisgest, спасибо. Не подскажите, как тогда можно решить данную задачу под UAC?</p>]]></content>
			<author>
				<name><![CDATA[Aaroniero]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25222</uri>
			</author>
			<updated>2012-12-24T11:37:47Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=67490#p67490</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: Создание окна, а также трансляция WScript в HTA]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=67445#p67445" />
			<content type="html"><![CDATA[<p>Если не запущен Проводник (в полном объёме, с Рабочим столом и прочим), то попытка обращения к колекции ShellWindows вызывает ошибку. Если Проводник и окно обозревателя запущены от имени разных уч.записей, то очевидно, окно не попадёт в коллекцию ShellWindows. Если процесс Проводника запущен после того, как окно уже существовало — его не будет в ShellWindows. Делайте выводы.</p>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2012-12-24T07:20:17Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=67445#p67445</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: Создание окна, а также трансляция WScript в HTA]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=67430#p67430" />
			<content type="html"><![CDATA[<p>Вот пример скрипта. <br /></p><div class="codebox"><pre><code>var WshShell = new ActiveXObject(&quot;WScript.Shell&quot;);
var Elevate = true;

function main(){
    var oXMLHTTP = new ActiveXObject(&quot;MSXML2.XMLHTTP&quot;);    
    innerhtml =
        &quot;&lt;html&gt; &quot; +
        &quot;&lt;head&gt; &quot; +
        &quot;&lt;title&gt;Test HTA window&lt;/title&gt; &quot; +
        &quot;&lt;HTA:APPLICATION &quot; +
        &quot;APPLICATIONNAME=&#039;test&#039; &quot; +
        &quot;VERSION=&#039;1.0&#039; &quot; +
        &quot;BORDER=&#039;none&#039; &quot; +
        &quot;CAPTION=&#039;yes&#039; &quot; +
        &quot;INNERBORDER=&#039;no&#039; &quot; +
        &quot;CONTEXTMENU=&#039;no&#039; &quot; +
        &quot;SCROLL=&#039;no&#039; &quot; +
        &quot;MAXIMIZEBUTTON=&#039;no&#039; &quot; +
        &quot;MINIMIZEBUTTON=&#039;no&#039; &quot; +
        &quot;SELECTION=&#039;no&#039; &quot; +
        &quot;/&gt; &quot; +
        &quot;&lt;STYLE&gt; &quot; +
        &quot;body{ &quot; +
        &quot;font-family:Verdana; &quot; +
        &quot;font-size:11px; &quot; +
        &quot;} &quot; +
        &quot;&lt;/STYLE&gt; &quot; +
        &quot;&lt;/head&gt; &quot; +
        &quot;&lt;script language=&#039;javascript&#039;&gt; &quot; +
        &quot;function window.onload(){ &quot; +
        &quot;self.focus(); &quot; +
        &quot;self.resizeTo(300,80); &quot; +
        &quot;} &quot; +
        &quot;&lt;/script&gt; &quot; +
        &quot;&lt;body scroll=no bgcolor=&#039;D4D0C8&#039; style=&#039;border:0;&#039;&gt; &quot; +
        &quot;&lt;center&gt; Test HTA window &quot; +
        &quot;&lt;br&gt;&lt;br&gt; &quot; +
        &quot; It will be closed in 10 sec &quot; +
        &quot;&lt;/center&gt; &quot; +
        &quot;&lt;/body&gt; &quot; +
        &quot;&lt;/html&gt; &quot;;
    width = 300; height = 80;
    var window = createHTAWindow(innerhtml,0,0,width,height);
    window.moveTo((window.screen.width-width)/2,(window.screen.height-height)/2);
    WScript.Sleep(10000);
    window.close();
}

function createHTAWindow(content, x, y, width, height)
{
var HTASettings = &quot;&quot;, e, window, Host = this; 
    width = Number(width) || 400;
    height = Number(height) || 300;
    try {
        HTASettings = content.match(/&lt;hta[^&gt;]+&gt;/gim)[0].replace(/\r?\n/g, &quot; &quot;).replace(/&quot;/g,&quot;&#039;&quot;);
    } catch(e) {
    }
    
    //var ID = &quot;1&quot;+(new Date).valueOf();
    var ID = &quot;u&quot;+Math.floor(Math.random()*10000000)
    var CodeForLinking = &quot;\&quot;&lt;title&gt; &lt;/title&gt;&lt;script&gt;moveTo(-300,-300); resizeTo(0,0)&lt;/script&gt;&quot; + 
        HTASettings + 
        &quot;&lt;object id=&quot; + ID + 
        &quot; classid=&#039;clsid:8856F961-340A-11D0-A96B-00C04FD705A2&#039;&gt;&lt;param name=RegisterAsBrowser value=1&gt;&lt;/object&gt;\&quot;&quot;;
    var ShellWindows = ( new ActiveXObject(&quot;Shell.Application&quot;) ).Windows();
    var NumberOfWindows = ShellWindows.Count;

    WshShell.Run(&quot;mshta.exe about:&quot;+CodeForLinking);

WScript.Sleep(1000);
var s=&quot;ID: &quot; + ID + &quot;\n&quot;;
for (var i=ShellWindows.Count; --i&gt;=0;){
    s = s + i + &quot;: &quot; + ShellWindows.Item(i).id + &quot;\n&quot;;
}
WScript.Echo(s);

    outer: for (var t=0; t&lt;500; t++)    
    inner:  for (var i=ShellWindows.Count; --i&gt;=0;){
        try{
            if( ShellWindows.Item(i).id == ID ){
                window = ShellWindows.Item(i).parent.parentWindow;
                break outer;
            }
        } catch(e) {
            WScript.Echo(e.message);
            return false;
        }
        WScript.Sleep(10);
    }
    
    if (!window) {
        WshShell.Popup(&quot;Error&quot;, 0, &quot;Error&quot;, 0+48);
    WScript.Quit();
        return false;
    }
    
    try {
        window.document.open(); window.Host = Host; 
        window.document.write([content||&quot;&quot;, &quot;&lt;script language=&#039;JScript&#039;&gt;eval;resizeTo(&quot;,width,&quot;,&quot;, height,&quot;); moveTo(&quot;, Number(x) ||  (window.screen.width - width) / 2,&quot;,&quot;, Number(y) || (window.screen.height - height) / 2, &quot;);&lt;/script&gt;&quot;].join(&quot;&quot;));
        window.document.close();
    } catch (e) {
    }
    return window;
}

if ( Elevate &amp;&amp; WScript.Arguments.Count() == 0 ) {
    var oShell = new ActiveXObject(&quot;Shell.Application&quot;);
    oShell.ShellExecute(&quot;wscript.exe&quot;, &quot;\&quot;&quot; + WScript.ScriptFullName + &quot;\&quot;&quot; + &quot; /isElevated&quot;, WScript.ScriptFullName.slice(0,-WScript.ScriptName.length-1), &quot;runas&quot;, 1);
    WScript.Quit();
}

main();</code></pre></div><p>При запуске с выключенным UAC или с UAC, но без повышения прав (во второй строке надо установить ключ Elevate = false), скрипт отрабатывает как надо. Если же скрипт повышает себе права при включенном UAC, то в списке ShellWindows не видно окна HTA.</p>]]></content>
			<author>
				<name><![CDATA[Aaroniero]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25222</uri>
			</author>
			<updated>2012-12-23T20:54:55Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=67430#p67430</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: Создание окна, а также трансляция WScript в HTA]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=66595#p66595" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>JSman пишет:</cite><blockquote><p>Может быть постараемся найти причины, когда&nbsp; связь не устанавливается?</p></blockquote></div><p>Нужна помощь по данному вопросу. Есть скрипт с функцией CreateWindow от JSman. При запуске от имени пользователя, все работает отлично. Если же скрипт запускается с правами администратора (для работы при включенном UAC на Windows 7), то при переборе ShellWindows.Item(i).id не удается найти объект по указанному ID. Значение ShellWindows.Count при этом на 1 меньше, чем при аналогичном запуске без повышения прав. Само окно HTA формируется (видно значок на панели задач).<br />Подскажите, пожалуйста, чем это может быть вызвано и есть ли какие-либо идеи, как можно решить указанную проблему?</p>]]></content>
			<author>
				<name><![CDATA[Aaroniero]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25222</uri>
			</author>
			<updated>2012-12-04T12:02:50Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=66595#p66595</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: Создание окна, а также трансляция WScript в HTA]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=45872#p45872" />
			<content type="html"><![CDATA[<p>JSman, коллега. Я конечно же тестировал Ваш код и могу сказать он в свете найденных багов превосходен. Я сторонник того, чтобы из скрипта иметь доступ к содержимому окна и его DOM нежели процессу. </p><div class="quotebox"><blockquote><p>Значит надо переписать функцию CreateWindow...</p></blockquote></div><p>Это всего лишь моя дружеская перепалка с коллегой Xameleon.</p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2011-03-06T17:49:55Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=45872#p45872</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: Создание окна, а также трансляция WScript в HTA]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=45864#p45864" />
			<content type="html"><![CDATA[<p>Окей, значит предлагаю вот такой вот код для тестирования:<br />Первый файл:<br /></p><div class="codebox"><pre><code>for (i=0;i&lt;20;i++)
(new ActiveXObject(&quot;WScript.Shell&quot;)).Run(&quot;myscript.js&quot;);</code></pre></div><p>Второй myscript.js:<br /></p><div class="codebox"><pre><code>function CreateWindow(content, x, y, width, height)
{
var HTASettings = &quot;&quot;, e, window, Host = this; !content? content=&quot;&quot;:{};
   content.replace(/&lt;hta[^&gt;]+&gt;/gim, function (m){HTASettings=m.replace(/\r?\n/g, &quot; &quot;).replace(/&quot;/g,&quot;&#039;&quot;)});
    
var 
    ID = &quot;a&quot;+Math.floor(Math.random()*10000000);
    CodeForLinking = &quot;&lt;title&gt;&amp;nbsp;&lt;/title&gt;&lt;script language=&#039;jscript&#039;&gt;try{moveTo(-300,-300);resizeTo(0,0);}catch(e){}&lt;/script&gt;&quot;+HTASettings+&quot;&lt;object id=&quot;+ID+&quot; classid=&#039;clsid:8856F961-340A-11D0-A96B-00C04FD705A2&#039;&gt;&lt;param name=RegisterAsBrowser value=1&gt;&lt;/object&gt;&quot;,
    ShellWindows=(new ActiveXObject(&quot;Shell.Application&quot;)).Windows();
    (new ActiveXObject(&quot;WScript.Shell&quot;)).Run(&quot;mshta.exe \&quot;about:&quot;+CodeForLinking+&quot;\&quot;&quot;);

    while (!window) 
    {
        WScript.Sleep(10);
        for (var i=ShellWindows.Count; --i&gt;=0;)
        try {if(ShellWindows.Item(i).id==ID)window=ShellWindows.Item(i).parent.parentWindow;} catch(e){}
    }
        window.document.open(); 
        window.Host = Host; 
        window.document.write([content,&quot;&lt;script language=&#039;JScript&#039; id=\&quot;a&quot;,ID,&quot;\&quot;&gt;eval; moveTo(&quot;,x|| 0,&quot;,&quot;,y||0,&quot;); resizeTo(&quot;,width||400,&quot;,&quot;,height||300,&quot;);document.getElementById(\&quot;a&quot;,ID,&quot;\&quot;).removeNode();&quot;,&quot;&lt;/script&gt;&quot;].join(&quot;&quot;));
    return window;
}

var wnd = CreateWindow(&quot;&lt;title&gt;123123&lt;/title&gt;&lt;hta:application caption=no&gt;&lt;body&gt;123123&lt;/body&gt;&quot;);
WScript.Sleep(5000);
wnd.close();</code></pre></div><p>Создаются окна и через 5 секунд закрываются. Если остаются окошки незакрытыми или ошибки возникают, то сообщите:)</p>]]></content>
			<author>
				<name><![CDATA[JSmаn]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24434</uri>
			</author>
			<updated>2011-03-06T09:35:32Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=45864#p45864</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: Создание окна, а также трансляция WScript в HTA]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=45863#p45863" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>JSman пишет:</cite><blockquote><div class="quotebox"><cite>Xameleon пишет:</cite><blockquote><p>2) В своём коде я бы поменял только принцип создания окна с Run на Exec, т.к это позволит убить процесс mshta.exe в случае если связь с окном не будет установлена.</p></blockquote></div><p>Может быть постараемся найти причины, когда&nbsp; связь не устанавливается?</p></blockquote></div><p>Доброго дня. ) Причины падения я рассматриваю теоретически. Как вариант - запустился HTA, а объект браузера внутри не загрузился из-за запрета на создание в локальной зоне, отсутствия его как такового в системе, ограничение прав на создание и т.п. Всё же может быть. А так - ну не создался и не создался. Процесс mshta.exe выгрузится по концу перебора окон.</p>]]></content>
			<author>
				<name><![CDATA[Xameleon]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=8836</uri>
			</author>
			<updated>2011-03-06T08:41:27Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=45863#p45863</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: Создание окна, а также трансляция WScript в HTA]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=45862#p45862" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Xameleon пишет:</cite><blockquote><p>2) В своём коде я бы поменял только принцип создания окна с Run на Exec, т.к это позволит убить процесс mshta.exe в случае если связь с окном не будет установлена.</p></blockquote></div><p>Может быть постараемся найти причины, когда&nbsp; связь не устанавливается?</p>]]></content>
			<author>
				<name><![CDATA[JSmаn]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24434</uri>
			</author>
			<updated>2011-03-06T08:26:40Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=45862#p45862</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: Создание окна, а также трансляция WScript в HTA]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=45861#p45861" />
			<content type="html"><![CDATA[<p>В первом посте я описывал вот эту функцию:<br /></p><div class="codebox"><pre><code>function CloseWindowOnQuit(window)
{
    return window.eval(&quot;setInterval(&#039;var e;try{Host.WScript}catch(e){close()}&#039;,100)&quot;);
}</code></pre></div><p>Конструкция была вынесена в отдельную функцию по разным соображениям: например, имея идентификатор интервала, можно отменить функцию интервала.</p><p><strong>Xameleon</strong>, во второй строке код стоит явно указать язык скрипта (снижает вероятность возникновения ошибки при парсинге).</p>]]></content>
			<author>
				<name><![CDATA[JSmаn]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24434</uri>
			</author>
			<updated>2011-03-06T08:14:42Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=45861#p45861</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: Создание окна, а также трансляция WScript в HTA]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=45858#p45858" />
			<content type="html"><![CDATA[<p>1) Оправдание ? Да я не осуждаю, а всего лишь удивляюсь, что уже созданное начинают придумывать заного.</p><p>2) В своём коде я бы поменял только принцип создания окна с <strong>Run</strong> на <strong>Exec</strong>, т.к это позволит убить процесс mshta.exe в случае если связь с окном не будет установлена.</p><div class="codebox"><pre><code>Function CreateWindow(content,features,x,y,width,height)
    On Error Resume Next
    Dim ShellWindows,ShellWindow,CodeForLinking,wshExec,form_id,id,i,document,window
    Set CreateWindow = Nothing
    Set ShellWindows = CreateObject(&quot;Shell.Application&quot;).Windows: Randomize: id = Clng(Rnd*100000)
    CodeForLinking = &quot;&lt;script&gt;moveTo(-1000,-1000);resizeTo(0,0);&lt;/script&gt;&quot; &amp;_
    &quot;&lt;hta:application &quot; &amp; features &amp; &quot; /&gt;&quot; &amp; _
    &quot;&lt;object id=&quot; &amp; id &amp; &quot; style=&#039;display:none&#039; classid=&#039;clsid:8856F961-340A-11D0-A96B-00C04FD705A2&#039; viewastext&gt;&lt;param name=RegisterAsBrowser value=1&gt;&lt;/object&gt;&quot;
    Set wshExec = CreateObject(&quot;WScript.Shell&quot;).Exec(&quot;mshta about:&quot;&quot;&quot; &amp; CodeForLinking &amp; &quot;&quot;&quot;&quot;)
    For i=1 to 1000
        For Each ShellWindow in ShellWindows: form_id = Clng(ShellWindow.id)
            if form_id = id Then
                Set document = ShellWindow.container:
                Set window = document.parentWindow
                document.open: window.execScript &quot;var Host&quot;: Set window.Host = me
                document.write content: document.close
                if x &lt;= 0 Then x = (window.screen.width - width) / 2
                if y &lt;= 0 Then y = (window.screen.height - height) / 2
                window.execScript &quot;document.onkeydown = function(){if(event.keyCode == 116){return false}};&quot; &amp;_
                &quot;setInterval(&#039;var e;try{Host.WScript}catch(e){close()}&#039;,100);moveTo(&quot; &amp; x &amp; &quot;,&quot; &amp; y &amp; &quot;);resizeTo(&quot; &amp; width &amp; &quot;,&quot; &amp; height &amp; &quot;)&quot;
                Set CreateWindow = window
                Exit Function
            End if
        Next
    Next
    wshExec.Terminate()
End Function</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Xameleon]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=8836</uri>
			</author>
			<updated>2011-03-05T19:59:10Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=45858#p45858</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: Создание окна, а также трансляция WScript в HTA]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=45857#p45857" />
			<content type="html"><![CDATA[<p>В своё оправдание могу сказать, что вопрос об автозакрытии возник не у меня.<br />Код уважаемого <strong>JSman</strong> не пересматривал, т.к. сам принцип его действия у меня сомнения не вызывал ввиду независимого собственного похожего решения.</p>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2011-03-05T19:01:33Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=45857#p45857</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: Создание окна, а также трансляция WScript в HTA]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=45854#p45854" />
			<content type="html"><![CDATA[<p><strong>2 wisgest &amp; Rumata:</strong> Господа, Вы удивляете меня с каждым постом. <img src="//forum.script-coding.com/img/smilies/neutral.png" width="15" height="15" /> Вы примеры в теме смотрели ? Тестировали ?</p><p><strong>2 Rumata:</strong><br /></p><div class="quotebox"><blockquote><p>Значит надо переписать функцию CreateWindow, так чтобы она возвращала PID процесса, а не ссылку на объект window</p></blockquote></div><p>Вот зачем городить грабли, где можно спокойно обойтись без них ??</p><p><strong>2 wisgest: </strong><br /></p><div class="quotebox"><blockquote><p>Как вариант можно передавать в HTA ссылку на какой нибудь объект вызывающего скрипта и переодически проверять из HTA доступность этого объекта, при его недоступности закрывать окно.</p></blockquote></div><div class="codebox"><pre><code>    document.open: window.execScript &quot;var Host&quot;: Set window.Host = me
    document.write content: document.close
    if x &lt;= 0 Then x = (window.screen.width - width) / 2
    if y &lt;= 0 Then y = (window.screen.height - height) / 2
    window.execScript &quot;document.onkeydown = function(){if(event.keyCode == 116){return false}};&quot; &amp;_
    &quot;setInterval(&#039;var e;try{Host.WScript}catch(e){close()}&#039;,10);moveTo(&quot; &amp; x &amp; &quot;,&quot; &amp; y &amp; &quot;);resizeTo(&quot; &amp; width &amp; &quot;,&quot; &amp; height &amp; &quot;)&quot;
    Set CreateWindow = window</code></pre></div><p>Уже давно был решён вопрос автозакрытия. JSman всё придумал и реализовал. И именно таким способом. И не &quot;какой нибудь&quot; объект, а объект хоста (Host)</p>]]></content>
			<author>
				<name><![CDATA[Xameleon]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=8836</uri>
			</author>
			<updated>2011-03-05T18:28:25Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=45854#p45854</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: Создание окна, а также трансляция WScript в HTA]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=45836#p45836" />
			<content type="html"><![CDATA[<p>А что даст PID процесса при аварийном завершении скрипта?<br />Как вариант можно передавать в HTA ссылку на какой нибудь объект вызывающего скрипта и переодически проверять из HTA доступность этого объекта, при его недоступности закрывать окно.</p>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2011-03-05T14:25:24Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=45836#p45836</id>
		</entry>
</feed>
