Gibt es trotzdem mit Windows API, um festzustellen, ob eine Netzwerkverbindung eines Windows 7-Computers eine Internetverbindung oder eine LAN-Verbindung ohne Internetzugang ist? Windows 7 und Vista zeigen dies im Netzwerk-Icon an (nur lokal v. Lokal und Internet), gibt es diese Informationen ohnehin progammatisch?Erkennen von Internet V. LAN-Verbindung
Antwort
Nicht perfekt.
Sie konnten erkennen, wenn Sie auf einem LAN-Netz von der IP-Adresse sind (Ihre lokalen DHCP unter der Annahme eines der 192.168.xx.xx privaten Adressen ausgehändigt.)
Sie eine bekannte externe Seite ping könnte zu prüfen, ob Dieses LAN hat eine Internetverbindung.
Pinging 4.2.2.2
ist eine gängige Methode, um zu ermitteln, ob eine Internetverbindung vorhanden ist.
Die Geschichte hinter dieser lies here.
Interessant. Was ist vnsc-bak.sys.gtei.de? – sbi
Obwohl jetzt 8.8.8.8 ist wahrscheinlich besser (siehe die Macht von Google) –
@Martin: Ja, obwohl 4.2.2.2 ist jetzt Muskelspeicher für mich. Ich weiß nicht, ob ich es ertragen kann, 8.8.8.8 und seinen unbequemen Winkel zwischen Zeige- und Mittelfinger zu lernen. –
http://msdn.microsoft.com/en-us/library/aa370750(VS.85).aspx beschreibt den Unterschied zwischen IsConnected
und IsConnectedToInternet
. Nur Windows 7. Ich habe kein natives Code-Beispiel, sorry.
Danke, das ist genau die Art von was ich suche. – MattR
Windows 7 führt DNS-Abfrage für dns.msftncsi.com 5 Sekunden nach Verbindungsaufbau durch. Sehen Sie keinen Grund, dies zu tun, außer die Internetverbindung zu überprüfen.
Die Windows-API-Code-Pack wird dies für Sie tun http://archive.msdn.microsoft.com/WindowsAPICodePack
seine NetworkListManager Klasse hat eine IsConnected Eigenschaft, dass, wenn Sie Verbindung haben
LAN zeigtund ein IsConnectedToInternet Eigenschaft, dass, wenn Sie
gibt InternetverbindungDas Paket-Download enthält eine Netzwerk-Demo-Anwendung, die das zeigt
Die Frage ist mit C++ markiert, was nativen Code bedeutet. Das Code Pack (welches ich liebe und teilweise dafür verantwortlich bin) ist ein gemanagter Code, zB C# –
- 1. Internet-Verbindung erkennen Java
- 2. Erkennen von Internet Explorer-Version mit VB6
- 3. Erkennen von DOM-Änderungen in Internet Explorer
- 4. Internet Explorer Automatisierung beschäftigt v/s Readystate Eigenschaft
- 5. Wie erkennen Sie iPhone v. IPhone 3G mit Obj C
- 6. Hoptoad v. Außergewöhnlich v. Exception_notification v. Exception_logger
- 7. Was überprüft 'v! == v'?
- 8. Erreichbarkeit vs NSURLSession Antwort auf Internet-Verbindung zu erkennen
- 9. Berechnet/Dynamisch V-Modell Name innerhalb von V-für
- 10. Berechnen "v^TA v" für eine Matrix von Vektoren
- 11. base64 encoderytes v b64encode v encoderstring
- 12. erkennen Speicherverlust von MAT
- 13. varchar (255) v tinyblob v tinytext
- 14. Ist es möglich, die verstärkte Sicherheitskonfiguration von Internet Explorer in JavaScript zu erkennen?
- 15. Spracherkennung ohne Internet in Android
- 16. Wie Sie Ctrl C/V mit Javascript für Internet Explorer und Firefox Browser deaktivieren
- 17. Internet Explorer löscht die "v" in .gov E-Mail-Adressen in einer PHP-App
- 18. Zugriffsmikrofon auf Internet Explorer
- 19. Drucken einer Liste von Zahlen in Python v.3
- 20. Wie erkennen Sie ankommenden Text ctrl-v einfügen in einem winforms-Textfeld?
- 21. jetty9.3.5 websocket Verursacht von: java.lang.NoSuchMethodError: org.eclipse.jetty.websocket.server.WebSocketServerFactory.init() V
- 22. M-V-VM Designfrage. Aufruf von ViewModel
- 23. wie Quellcode von Cryengine V herunterladen?
- 24. Lesbarkeit von long int v. Lang
- 25. CryEngine v starten von Standard-SDK
- 26. Verschachtelte Arrays von Objekten und v-für
- 27. Kopie n k/v Paare von Hashtable
- 28. Python: Verwendung von Dekorateuren v/s Mixins?
- 29. Phusion Passenger v. WEBrick
- 30. Cappuccino V Sproutcore - Tischansicht
Nur weil der Computer eine private hat Die IP-Adresse (die auch 10.x.x.x und 172.16-31.x.x enthält) bedeutet nicht, dass sie nicht mit dem Internet verbunden ist. Wie jeder, der auf diese Seite hinter einem Heim-Router, der NAT durchführt, zugreift, kann bestätigen! –
Es war nicht klar, was das OP forderte, dh. direkte Internetverbindung vs NAT –