this was taken from the other post
i have added a little, please note it is not complete especially regards WshShell
blnAlreadyRunning = False
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colProcessByName = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'yourexehere.exe'")
'can we use teh colProcessByName.Count?
For Each objProcess in colProcessByName
'if you get an instance here then one is running..
blnAlreadyRunning = True
Next
Set colProcessByName = Nothing
Set objWMIService = Nothing
If blnAlreadyRunning = True Then
Msgbox "session / app already running"
Else
'do your call to the server app here
intReturn = 666
On Error Resume Next
intReturn = WshShell.Run(Chr(34) & "\\servername\share\a folder\app.exe" & Chr(34) & , 1, False?)
On Error Goto 0
If intReturn = 0 Then
'all good
Else
Msgbox "sorry failed to launch app"
End If
End If