Network Computer Offline

  • Thread starter Thread starter Philosophaie
  • Start date Start date
P

Philosophaie

How do you tell when a network computer is offline? Is there a code that
returns a value when a computer is on or offline?
 
This is what I have thus far:

Private Declare Function IsDestinationReachable Lib "//HPNC6220"
Sub Button1_Click()
If IsDestinationReachable(//HPNC6220, Ret) = 0 Then
MsgBox "The destination cannot be reached!"
Else
MsgBox "The destination can be reached!"
End If
End Sub

I want to ping the network computer \\HPNC6220 then use
IsDestinationReachable Lib to sort with an if-then to sort the results.
 
The library "SENSAPI.DLL" is in the windows/system32 folder on your PC and
you cannot change the defination of the library. The function
IsDestinationReachable is in this library and the parameter can't be
modified. Copy the code below exactly as posted.

The library needs to know the lenght of the record returned so you need to
include this line: Ret.dwSize = Len(Ret)

Const NETWORK_ALIVE_AOL = &H4
Const NETWORK_ALIVE_LAN = &H1
Const NETWORK_ALIVE_WAN = &H2
Private Type QOCINFO
dwSize As Long
dwFlags As Long
dwInSpeed As Long 'in bytes/second
dwOutSpeed As Long 'in bytes/second
End Type
Private Declare Function IsDestinationReachable Lib "SENSAPI.DLL" _
Alias "IsDestinationReachableA" _
(ByVal lpszDestination As String, ByRef lpQOCInfo As QOCINFO) As Long
Private Sub Form_Load()
Dim Ret As QOCINFO
Ret.dwSize = Len(Ret)
If IsDestinationReachable("//HPNC6220", Ret) = 0 Then
MsgBox "The destination cannot be reached!"
Else
MsgBox "The destination can be reached!"
End If
End Sub
 
You dont need the two foward slashes infront of the network name. You can
test the name by doing the following

1) Open a dos window
2003: Start button RUN. In the run box type cmd.exe
2007: Start - Search box type CMD

A dos window should now be opened. Type the following

ping HPNC6220 (enter)
 
I need this check to be part of a program, not just a one time thing.

When I copied and pasted the latest program you gave me I stored it and
started Excel from scratch. Envolking the "Private Sub Form_Load()
" but nothing happened. Neither of the MSGBOXes worked. I put the program
in Sheets(Sheet1) then ThisWorkbook still nothing. What am I doing wrong?
 
I put the code in a module and single step through the code without any
problems. The cod eshould run from anyplace in the VBA project since it is
not refering to any sheets.
 
Back
Top