我需要一段代码来检测网络连接是连接还是断开。连接状态意味着电缆已插入以太网连接。断开连接状态意味着没有电缆连接。
由于我在 Windows CE 上运行,所以我无法使用 WMI 接口(interface)。我不介意调用 Win32 API,但请记住我使用的是 Windows CE 并在 Compact Framework 上运行。
最佳答案
最简单的方法是使用 OpenNETCF's SDF并查看 OpenNETCF.Net.NetworkInformation.NetworkInterfaceWatcher class ,这将在 NDIS 发出通知(如 MEDIA_CONNECT 和 MEDIA_DISCONNECT)时引发事件。
当然,您可以在没有 SDF 的情况下完成同样的工作。它涉及直接调用 NDIS 驱动程序并调用 IOCTL_NDISUIO_REQUEST_NOTIFICATION带有 P2P 消息队列句柄。这并不过分困难,但您必须做很多事情才能使其正常工作而不泄漏。
关于c# - 在 C# 中检测网络状态(连接 - 断开连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/936027/