VBScript ping function that doesn' use GetObject or show a cmd windows

All,

I have the following requirements;
I require a basic ping function that takes a host/ip string and returns a Boolean true if successfully pinged.

*It cannot use GetObject
*it cannot show a cmd prompt
*It cannot use a temporary file

I have the following code which I like, but for a moment it shows the cmd prompt, it hangs even longer if an invalid host name was entered (but this can be avoided by sticking to ips)

Does anyone have a solution that meets the above requirements?


msgbox ping("localhost")

Function Ping(Target)
Dim results

    'On Error Resume Next

    Set shell = CreateObject("WScript.Shell")
    
    ' Send 1 echo request, waiting 2 seconds for result 
    Set exec = shell.Exec("ping -n 1 -w 1000 " & Target)
    results = exec.StdOut.ReadAll
    
    Ping = InStr(1,results, "reply from",vbtextcompare) > 0
End Function

Open in new window

LVL 11
thydzikAsked:
Who is Participating?
 
thydzikConnect With a Mentor Author Commented:
apologies experts, I have found a solution


function ping2(Target)
	Set WshShell = CreateObject("WScript.Shell")
	ping2 = Not CBool(WshShell.run("ping -n 1 " & Target,0,True))
End Function

Open in new window

0
All Courses

From novice to tech pro — start learning today.