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

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

有帮助吗?

其他提示

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

当然,您可以在没有 SDF 的情况下完成相同的工作。它涉及直接调整 NDIS 驱动程序并调用 IOCTL_NDISUIO_REQUEST_NOTIFICATION 具有 P2P 消息队列句柄。这并不是太困难,但是您需要做很多事情才能让它正常工作而不泄漏。

呼叫 GetAdaptersInfo 和循环通过可用的网络适配器的列表直到你找到你要找的人?

有一点要记住的是,在网络连接的等于一个互联网连接。

听起来好像已经得到,由于定义连接为意指“一个电缆插入到以太网连接”,但它值得重复。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top