Κώστα μου, η συνάρτηση αυτή μπορεί να μας επιστρέψει πληροφορίες για τον τρόπο
και για την κατάσταση της σύνδεσης του υπολογιστή με το Ιντερνέτ (δηλ. τιμές από το RAS Configuration) ,
αλλά όχι αν ο υπολογιστής έχει πραγματικά πρόσβαση στο Internet.
Το τελευταίο για να μπορεί να επιτευχθεί με τη IsDestinationReachable() (παρόμοια με το ping)
η οποία όμως, δεν λειτουργεί σε ΗTTP proxies ή σε firewalls που δεν επιτρέπουν
τα πακέτα ping ICMP (Αυτό για τη φίλη μας Χρύσσα). Άρα.. το ξεχνάμε.
Μας μένουν λοιπόν 2 σίγουρες λύσεις:
1) Λύση με
API που ήδη αναφέραμε (InternetOpenUrl...)
2) Λύση με τη χρήση του Internet explorer δηλ.:
Κώδικας:
Option Explicit
Public Function InetIsAvailable() As Boolean
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
ie.navigate "http://www.google.gr"
While ie.readystate <> 4: DoEvents: Wend
On Error GoTo ExitHere
InetIsAvailable = Not IsError(ie.document.domain)
ExitHere:
ie.ExecWB 45, 2
Set ie = Nothing
End Function
Public Sub test()
MsgBox "Internet is " & IIf(InetIsAvailable, "accessible!", "unaccessible!")
End Sub
Φιλικά