Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

VBScript - Count Instances of a Process

0.00/5 (No votes)
22 Jan 2013 1  
Determine how many instances are currently running from a specified process.

Introduction

It can be useful sometimes to know how many instances of a process are running at a time, for instance, to prevent a second instance of your VBScript being triggered. I created a short tip on how to get it to work as desired!

Using the code 

The code is in VBScript. VBScript is processed by "wscript.exe" (runtime compiler). To use it, create a 'New Text Document', rename it to 'myVBScript.vbs'. If you are not able to rename your files onto a file with another file-extension, you first have to enable it. For this go to 'My Computer' or to any open folder and click on it and then select above on the main tab , 'Tools', 'Folder Options...', 'View', and finally uncheck the option called 'Hide extension for known file types'.

Option Explicit
Dim objWMIService, objProcess, colProcess, strComputer, processName, instances

strComputer = "."
instances = 0
processName = "firefox.exe" 

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")

Set colProcess = objWMIService.ExecQuery _
("Select * from Win32_Process")

For Each objProcess in colProcess
If objProcess.Name = processName Then instances = instances + 1
Next

If processName = "wscript.exe" Then 
	If instances = 1 Then
	WScript.Echo "There is no other VBScript running except this one!"
	Else
	WScript.Echo "There are currently " & "(" & instances _
	   & ") " & "VBScript" & " Instances running!"
	End If
Else
	WScript.Echo "There are currently " & "(" & instances & ") " & _
	        """" & processName & """" & " Instances running!"
End If

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here