5

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

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

4

4 回答 4

4

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

当然,您可以在没有 SDF 的情况下完成相同的工作。它涉及直接打开 NDIS 驱动程序并使用 P2P 消息队列句柄调用IOCTL_NDISUIO_REQUEST_NOTIFICATION 。这并不太难,但是您必须做很多事情才能使其正常工作并且不会泄漏。

于 2009-06-01T19:08:53.087 回答
2

查看这篇 MSDN 文章:

在 .NET Compact Framework 中测试和响应网络连接

于 2009-06-01T18:19:19.903 回答
1

调用GetAdaptersInfo并遍历可用网络适配器列表,直到找到您正在寻找的那个?

于 2009-06-01T18:32:44.297 回答
0

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

听起来您已经明白了,因为您将连接定义为“将电缆插入以太网连接”,但它需要重复。

于 2009-06-01T18:19:38.843 回答