Die Erkennung von Netzwerk-Status (angeschlossen - getrennt) in C#
Ich bin in der Notwendigkeit ein Stück code, das kann man erkennen, ob eine Netzwerk-Verbindung verbunden ist oder nicht. Die angeschlossenen Zustand würde bedeuten, ein Kabel wurde eingesteckt in den Ethernet-Anschluss. Einen getrennten Zustand würde bedeuten, es ist nicht angeschlossen.
Kann ich nicht verwenden, die WMI-Schnittstelle aufgrund der Tatsache, dass ich bin läuft auf Windows CE. Ich habe nichts dagegen Aufruf der Win32-API, aber denken Sie daran, dass ich mit Windows CE und läuft auf dem Compact Framework.
- Eine Sache zu erinnern ist, dass eine Netzwerkverbindung nicht gleich zu einer internet-Verbindung. Es klingt wie Sie bereits erhalten, weil Sie definieren, verbunden mit der Bedeutung "ein Kabel ist eingesteckt in den Ethernet-Verbindung", aber es trägt zu wiederholen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Check-out in diesem MSDN-Artikel:
Testen und die Reaktion auf Netzwerk-Verbindungen in den .NET Compact Framework
Der einfachste Weg ist die Verwendung OpenNETCF ist SDF und Blick auf die OpenNETCF.Net.NetworkInformation.NetworkInterfaceWatcher Klasse, die Ereignisse auslösen, wenn NDIS sendet Benachrichtigungen (wie MEDIA_CONNECT und MEDIA_DISCONNECT).
Können Sie die gleiche Arbeit tun, ohne die SDF -, natürlich. Es beinhaltet onening der NDIS-Treiber direkt aufrufen und IOCTL_NDISUIO_REQUEST_NOTIFICATION mit einem P2P-message queue-handle. Es ist nicht übermäßig schwierig, aber es gibt eine Menge, die Sie haben zu erhalten das Recht, zu arbeiten und nicht Leck.
NetworkInterfaceWatcher
opennetcf.codeplex.com/SourceControl/latest#OpenNETCF.Net/...Call GetAdaptersInfo und das Durchlaufen der Liste der verfügbaren Netzwerkadapter, bis Sie eins finden, nach der Sie suchen?
Eine Sache zu erinnern ist, dass eine Netzwerk-Verbindung ist nicht gleich eine internet-Verbindung.
Es klingt wie Sie bereits erhalten, weil Sie definieren, verbunden mit der Bedeutung "ein Kabel ist eingesteckt in den Ethernet-Verbindung", aber es trägt zu wiederholen.