在C#中检测网络状态(已连接 - 已断开连接)

时间:2009-06-01 18:15:24

标签: c# compact-framework networking windows-ce ethernet

我需要一段能够检测网络连接是否已连接或断开的代码。连接状态意味着电缆已插入以太网连接。断开状态意味着没有连接电缆。

由于我在Windows CE上运行,我无法使用WMI界面。我不介意调用Win32 API但请记住我正在使用Windows CE并在Compact Framework上运行。

4 个答案:

答案 0 :(得分:4)

最简单的方法是使用OpenNETCF's SDF并查看OpenNETCF.Net.NetworkInformation.NetworkInterfaceWatcher class,这会在NDIS发出通知时引发事件(如MEDIA_CONNECT和MEDIA_DISCONNECT)。

当然,没有SDF,你可以做同样的工作。它涉及直接加强NDIS驱动程序并使用P2P消息队列句柄调用IOCTL_NDISUIO_REQUEST_NOTIFICATION。这并不是太难,但是你需要做很多工作而不是泄漏。

答案 1 :(得分:2)

答案 2 :(得分:1)

调用GetAdaptersInfo并循环浏览可用网络适配器列表,直到找到您要查找的网络适配器?

答案 3 :(得分:0)

要记住的一件事是网络连接等于互联网连接。

听起来你已经知道了,因为你将连接定义为“电缆插入以太网连接”的含义,但它需要重复。

相关问题