<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBScript: слежение за существованием процесса]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=2777</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=2777&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBScript: слежение за существованием процесса».]]></description>
		<lastBuildDate>Wed, 11 Mar 2009 17:20:05 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBScript: слежение за существованием процесса]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=20539#p20539</link>
			<description><![CDATA[<p>Пример запускает процесс &quot;notepad.exe&quot;, следит за его существованием и выдаёт сообщение о прекращении его работы. Код обрабатывает события удаления процессов с помощью WMI.<br /></p><div class="codebox"><pre><code>Set WshShell = CreateObject (&quot;WSCript.shell&quot;)
PID = WshShell.Exec(&quot;notepad.exe&quot;).ProcessID

Set WMI = GetObject(&quot;winmgmts:\\.\root\cimv2&quot;)
Set colProcesses = WMI.ExecNotificationQuery _
(&quot;Select * From __InstanceDeletionEvent Within 1 Where TargetInstance ISA &#039;Win32_Process&#039;&quot;)
Do Until 1 = 2
    Set objProcess = colProcesses.NextEvent
    If objProcess.TargetInstance.ProcessID = PID Then
       Exit Do
    End If
Loop
MsgBox &quot;Процесса notepad.exe (PID &quot; &amp; PID &amp; &quot;) больше нет.&quot;</code></pre></div><p>Автор идеи - <strong>ingvar68</strong>.</p>]]></description>
			<author><![CDATA[null@example.com (The gray Cardinal)]]></author>
			<pubDate>Wed, 11 Mar 2009 17:20:05 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=20539#p20539</guid>
		</item>
		<item>
			<title><![CDATA[VBScript: слежение за существованием процесса]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=19428#p19428</link>
			<description><![CDATA[<p>Пример отслеживает создание процесса &quot;notepad.exe&quot; и выдаёт сообщение о его существовании (PID процесса). Пример демонстрирует использование объекта <a href="http://msdn.microsoft.com/en-us/library/aa393838.aspx">SWbemRefresher</a>.<br /></p><div class="codebox"><pre><code>Set objService = GetObject(&quot;winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2&quot;)
Set objRefresher = CreateObject(&quot;WbemScripting.SWbemRefresher&quot;)
Set colItems = objRefresher.AddEnum(objService, &quot;Win32_Process&quot;).objectSet
While True
    objRefresher.Refresh
    For Each objItem in colItems
        If InStr(objItem.ExecutablePath, &quot;notepad.exe&quot;) Then
            Wscript.Echo &quot;notepad.exe PID &quot; &amp; objItem.ProcessId
        End If
    Next
    Wscript.Sleep 1000
Wend</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (The gray Cardinal)]]></author>
			<pubDate>Thu, 12 Feb 2009 15:50:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=19428#p19428</guid>
		</item>
	</channel>
</rss>
