System.Net.NetworkInformation命名空间下
1、NetworkInterface类提供了网络接口的配置和统计信息。
如果要获得本地计算机的网络接口(网卡)信息,则使用该类下的GetAllNetworkInterfaces()方法。
如:NetworkInterface[] nics= NetworkInterface.GetAllNetworkInterfaces();
nics包括本机的所有网卡对象,包含网卡的名称、ID、连接状态、连接类型等。
2、NetworkChange类提供了网络接口的Internet协议地址发生改变时收到的通知。
当网卡禁用或IP地址发生改变时触发NetworkAddressChanged事件。如果你的应用程序需要在网络断开时做特出处理,则此事件能满足你的要求。如:
NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(AddressChangedCallback); MessageBox.Show("Listening for address changes.");
private void AddressChangedCallback(object sender, EventArgs e) {
MessageBox.Show(string.Format("IsNetworkAvailable is {0}", NetworkInterface.GetIsNetworkAvailable()));
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface n in adapters) { string aa = string.Format("OperationalStatus is {0}/r/n", n.OperationalStatus); aa += string.Format("NetworkInterfaceType is {0}/r/n", n.NetworkInterfaceType); aa += string.Format("Name is {0}", n.Name); MessageBox.Show(aa); }
}