<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; HTA/HTML: асинхронное отслеживание событий WMI]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=3477</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=3477&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «HTA/HTML: асинхронное отслеживание событий WMI».]]></description>
		<lastBuildDate>Thu, 13 Aug 2009 18:06:00 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: HTA/HTML: асинхронное отслеживание событий WMI]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=27117#p27117</link>
			<description><![CDATA[<p>В случае обработки события объекта синхронизации WMI в пространстве HTML документа удобно использовать объект WbemLocator (для Internet Explorer).<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />Перед запуском разрешите обработку ActiveX объектов на HTML страницах Internet Explorer примерно по следующей схеме: [Панель управления] - [Свойства Обозревателя] - [Безопасность] - [Зона &quot;Интернет&quot;] - [Уровень безопасности для этой зоны] - [кнопка &quot;Другой&quot;]. В появившемся диалоге разрешите все что связано с элементами ActiveX и примените изменения. Это обеспечит корректную работу.<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</p><p>Файл <strong>EvtAsync.htm</strong> запускается в Internet Explorer:<br /></p><div class="codebox"><pre><code>&lt;HTML&gt;
&lt;HEAD&gt;
    &lt;meta http-equiv=Content-Type content=&quot;text/html; charset=windows-1251&quot;&gt;
    &lt;TITLE&gt;
        Обработка событий объекта ISWbemSink в пространстве HTML
    &lt;/TITLE&gt;
&lt;/HEAD&gt;

&lt;BODY SCROLL=&quot;YES&quot;&gt;

    &lt;OBJECT ID=&quot;ObjSink&quot;
        STYLE=&quot;position:absolute;top:0;left:0;width:0;height:0&quot;
        CLASSID=&quot;CLSID:75718C9A-F029-11D1-A1AC-00C04FB6C223&quot;&gt;
    &lt;/OBJECT&gt;

    &lt;OBJECT ID=&quot;ISWbemLocator&quot;
        STYLE=&quot;position:absolute;top:0;left:0;width:0;height:0&quot;
        CLASSID=&quot;CLSID:76A64158-CB41-11D1-8B02-00600806D9B6&quot;&gt;
    &lt;/OBJECT&gt;

    &lt;SCRIPT LANGUAGE=&quot;VBScript&quot;&gt;

    &#039;//--------------Отслеживание запуска нового процесса---------------------//
    
    Set IObjService = ISWbemLocator.ConnectServer(&quot;.&quot;,&quot;Root\CIMV2&quot;)
    &#039;---------------------------------------------------------------------------
    IObjService.ExecNotificationQueryAsync _
    ObjSink, _
    &quot;SELECT * FROM __InstanceCreationEvent WITHIN 2 WHERE TargetInstance ISA &quot;&quot;Win32_Process&quot;&quot;&quot;
    
    &#039;/Обработка события/
    &#039;---------------------------------------------------------------------------
    Function ObjSink_OnObjectReady(objWbemObject, ISWbemNamedValueSet)
        MsgBox objWbemObject.GetObjectText_,vbExclamation Or vbSystemModal,&quot;Обработка событий&quot;
    End Function
    &#039;---------------------------------------------------------------------------
    Function window_onunload()
        ObjSink.Cancel()
    End Function
    &#039;---------------------------------------------------------------------------
    Function window_onload()
        MsgBox &quot;Запустите какой-нибудь процесс...&quot;,vbExclamation Or vbSystemModal,&quot;Обработка событий&quot;
    End Function
    &#039;---------------------------------------------------------------------------
    &lt;/SCRIPT&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Poltergeyst)]]></author>
			<pubDate>Thu, 13 Aug 2009 18:06:00 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=27117#p27117</guid>
		</item>
		<item>
			<title><![CDATA[HTA/HTML: асинхронное отслеживание событий WMI]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=26665#p26665</link>
			<description><![CDATA[<p>Обычная функция VBScript <strong>CreateObject</strong> используемая в пространстве HTA/HTML неспособна задействовать обработку событий неграфического ActiveX объекта, даже если объект поставляет соответствующий интерфейс. Чтобы выйти из ситуации, нет ничего проще, как создать неграфический ActiveX объект поставляющий события, в виде графического элемента с нулевыми размерными параметрами и обрабатывать его события через функции вида <em>имя объекта_имя события</em>. В предложенном HTA примере идет обработка событий объекта синхронизации WMI ISWbemSink (асинхронное отслеживание создания нового процесса).</p><p><strong>sample.hta</strong>:<br /></p><div class="codebox"><pre><code>&lt;HTML&gt;
&lt;HEAD&gt;
    &lt;meta http-equiv=Content-Type content=&quot;text/html; charset=windows-1251&quot;&gt;
    &lt;TITLE&gt;
        Обработка событий объекта ISWbemSink в пространстве HTA/HTML
    &lt;/TITLE&gt;
&lt;/HEAD&gt;

&lt;BODY SCROLL=&quot;YES&quot;&gt;

    &lt;OBJECT ID=&quot;ObjSink&quot; 
        STYLE=&quot;position:absolute;top:0;left:0;width:0;height:0&quot;
        CLASSID=&quot;CLSID:75718C9A-F029-11D1-A1AC-00C04FB6C223&quot;&gt;
    &lt;/OBJECT&gt;

    &lt;SCRIPT LANGUAGE=&quot;VBScript&quot;&gt;
    Set IObjService    =GetObject(&quot;winmgmts:\\.\Root\CIMV2&quot;)
    &#039;---------------------------------------------------------------------------
    IObjService.ExecNotificationQueryAsync _
    ObjSink, _
    &quot;SELECT * FROM __InstanceCreationEvent WITHIN 2 WHERE TargetInstance ISA &quot;&quot;Win32_Process&quot;&quot;&quot;
    
    &#039;/Обработка события/
    &#039;---------------------------------------------------------------------------
    Function ObjSink_OnObjectReady(objWbemObject, ISWbemNamedValueSet)
        MsgBox objWbemObject.GetObjectText_,vbExclamation+vbSystemModal,&quot;Обработка событий&quot;
    End Function
    &#039;---------------------------------------------------------------------------
    Function window_onunload()
        ObjSink.Cancel()
    End Function
    &#039;---------------------------------------------------------------------------
    Function window_onload()
        MsgBox &quot;Запустите какой-нибудь процесс...&quot;,vbExclamation+vbSystemModal,&quot;Обработка событий&quot;
    End Function
    &#039;---------------------------------------------------------------------------
    &lt;/SCRIPT&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Poltergeyst)]]></author>
			<pubDate>Sat, 01 Aug 2009 10:02:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=26665#p26665</guid>
		</item>
	</channel>
</rss>
