检测网络适配器状态更改C#

检测网络适配器状态更改C#,c#,windows-services,network-programming,C#,Windows Services,Network Programming,我想使用C#监视所有网络适配器及其状态 例如,当网络适配器上升或下降时,我需要捕获它以及适配器信息,如名称。mac,ip。 我使用了NetworkChange.NetworkAvailabilityChanged,但这只提供网络状态,而不提供已连接/断开连接的适配器。 我的应用程序是windows服务应用程序,我不想使用WMI。事件处理程序的发件人参数是什么?你能不能通过将它转换成合适的类型来提取你需要的信息?我也试过了。根据MSDN,发送方是该事件的源,但我得到的是null。似乎您必须实现某种

我想使用C#监视所有网络适配器及其状态
例如,当网络适配器上升或下降时,我需要捕获它以及适配器信息,如名称。mac,ip。 我使用了
NetworkChange.NetworkAvailabilityChanged
,但这只提供网络状态,而不提供已连接/断开连接的适配器。


我的应用程序是windows服务应用程序,我不想使用WMI。

事件处理程序的发件人参数是什么?你能不能通过将它转换成合适的类型来提取你需要的信息?我也试过了。根据MSDN,发送方是该事件的源,但我得到的是null。似乎您必须实现某种轮询逻辑:定期检查适配器状态并自己检测更改。事件处理程序的发送方参数是什么?你能不能通过将它转换成合适的类型来提取你需要的信息?我也试过了。根据MSDN,发送方是该事件的源,但我得到的是null。看起来您必须实现某种轮询逻辑:定期检查适配器状态,并自行检测更改。