<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS & JScript: Asynchronous WMI Sink]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=14687</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=14687&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS & JScript: Asynchronous WMI Sink».]]></description>
		<lastBuildDate>Fri, 19 Apr 2019 06:24:42 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS & JScript: Asynchronous WMI Sink]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=133662#p133662</link>
			<description><![CDATA[<p><strong>expertykt</strong>, да была давно такая <a href="http://forum.script-coding.com/viewtopic.php?pid=48683#p48683">темка</a>, но не уверен, что Вам понравится такой вариант.</p>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Fri, 19 Apr 2019 06:24:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=133662#p133662</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS & JScript: Asynchronous WMI Sink]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=133652#p133652</link>
			<description><![CDATA[<p><strong>Xameleon</strong>,<br />не знаю другого способа грузить код в залоченый проект. И бонусом условная безопасность кода благодаря кажущейся изоляции от проекта книги. <br /></p><div class="quotebox"><blockquote><p>интерпретацию подгруженного кода средствами самого VBA</p></blockquote></div><p> это о чем?</p>]]></description>
			<author><![CDATA[null@example.com (expertykt)]]></author>
			<pubDate>Wed, 17 Apr 2019 23:36:05 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=133652#p133652</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS & JScript: Asynchronous WMI Sink]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=133628#p133628</link>
			<description><![CDATA[<p><strong>expertykt</strong>, скажите, пожалуйста, а ScriptControl для интерпретации скриптов используете для и обеспечения безопасности и изоляции от объектов документа или причина в другом ? Спрашиваю потому что, в принципе, можно делать интерпретацию подгруженного кода средствами самого VBA и тогда цепляться к событиям гораздо проще.</p>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Wed, 17 Apr 2019 07:42:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=133628#p133628</guid>
		</item>
		<item>
			<title><![CDATA[VBS & JScript: Asynchronous WMI Sink]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=133341#p133341</link>
			<description><![CDATA[<p>Не представляю, как реализовать подключение событий WMI в MSScriptControl.<br />Ни VBS, ни JScript не позволяют реализовать <br /></p><div class="codebox"><pre><code>Set objSWbemSink = WScript.CreateObject(&quot;WbemScripting.SWbemSink&quot;, &quot;Sink_&quot;)</code></pre></div><p>Задача: в Excel создать таймер для управления загружаемым в ScriptControl из облака кодом. <br />В VBA таймер работает. Однако, постоянная передача управления VBA &lt;-&gt; ScriptControl и обратно через Excel.Run jscript и SC.run vbascript слишком часто крашит. Предполагается, что исключение этой связки повысит стабильность. </p><p>Вариант подключения в ScriptControl VBA-объекта таймера через AddObject выглядит костылем.<br />Класс VBA-таймера<br /></p><div class="codebox"><pre><code>Dim objSWbemServicesEx As Object
Dim WithEvents objSWbemSink As WbemScripting.SWbemSink
Dim todo, par1, par2, par3, par4, par5 As String

Private Sub Class_Initialize()
Set objSWbemServicesEx = GetObject(&quot;winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2&quot;)
Set objSWbemSink = New WbemScripting.SWbemSink
todo = par1 = par2 = par3 = &quot;&quot;
End Sub

Public Sub Start(sec, jsFunc, p1, p2, p3, p4, p5)
todo = jsFunc
par1 = p1
par2 = p2
par3 = p3
par4 = p4
par5 = p5
objSWbemServicesEx.ExecNotificationQueryAsync objSWbemSink, &quot;SELECT * FROM __InstanceModificationEvent WHERE TargetInstance ISA &#039;Win32_LocalTime&#039; AND TargetInstance.Second=&quot; &amp; sec
End Sub

Private Sub objSWbemSink_OnObjectReady(ByVal objWbemObject As WbemScripting.ISWbemObject, ByVal objWbemAsyncContext As WbemScripting.ISWbemNamedValueSet)
objSWbemSink.Cancel
Code.Run todo, Excel.Application, par1, par2, par3, par4, par5
End Sub</code></pre></div><p>Куда еще можно покопать?</p>]]></description>
			<author><![CDATA[null@example.com (expertykt)]]></author>
			<pubDate>Thu, 04 Apr 2019 03:08:28 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=133341#p133341</guid>
		</item>
	</channel>
</rss>
