<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBS & JScript: Asynchronous WMI Sink]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=14687&amp;type=atom" />
	<updated>2019-04-19T06:24:42Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=14687</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS & JScript: Asynchronous WMI Sink]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=133662#p133662" />
			<content type="html"><![CDATA[<p><strong>expertykt</strong>, да была давно такая <a href="http://forum.script-coding.com/viewtopic.php?pid=48683#p48683">темка</a>, но не уверен, что Вам понравится такой вариант.</p>]]></content>
			<author>
				<name><![CDATA[Xameleon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=8836</uri>
			</author>
			<updated>2019-04-19T06:24:42Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=133662#p133662</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS & JScript: Asynchronous WMI Sink]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=133652#p133652" />
			<content type="html"><![CDATA[<p><strong>Xameleon</strong>,<br />не знаю другого способа грузить код в залоченый проект. И бонусом условная безопасность кода благодаря кажущейся изоляции от проекта книги. <br /></p><div class="quotebox"><blockquote><p>интерпретацию подгруженного кода средствами самого VBA</p></blockquote></div><p> это о чем?</p>]]></content>
			<author>
				<name><![CDATA[expertykt]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39985</uri>
			</author>
			<updated>2019-04-17T23:36:05Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=133652#p133652</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS & JScript: Asynchronous WMI Sink]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=133628#p133628" />
			<content type="html"><![CDATA[<p><strong>expertykt</strong>, скажите, пожалуйста, а ScriptControl для интерпретации скриптов используете для и обеспечения безопасности и изоляции от объектов документа или причина в другом ? Спрашиваю потому что, в принципе, можно делать интерпретацию подгруженного кода средствами самого VBA и тогда цепляться к событиям гораздо проще.</p>]]></content>
			<author>
				<name><![CDATA[Xameleon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=8836</uri>
			</author>
			<updated>2019-04-17T07:42:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=133628#p133628</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBS & JScript: Asynchronous WMI Sink]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=133341#p133341" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[expertykt]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39985</uri>
			</author>
			<updated>2019-04-04T03:08:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=133341#p133341</id>
		</entry>
</feed>
