foreach (System.Net.NetworkInformation.NetworkInterface f in System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces())
{
if (f.OperationalStatus == System.Net.NetworkInformation.OperationalStatus.Up )
{
var dd = f.GetIPProperties(); //这里有DHCP的地址,判断下DHCP.Count
>1 就是动态
}
}
win32 API函数的做法:
要用的函数:InternetGetConnectedState
函数原形:BOOL InternetGetConnectedState(LPDWORD lpdwFlags,DWORD dwReserved);
参数lpdwFlags返回当前网络状态,参数dwReserved依然是保留参数,设置为0即可。
INTERNET_CONNECTION_MODEM 通过调治解调器连接网络
INTERNET_CONNECTION_LAN 通过局域网连接网络
这个函数的功能是很强的。它可以:
1 判断网络连接是通过网卡还是通过调治解调器
2 是否通过代理上网
3 判断连接是On Line还是Off Line
4 判断是否安装“拨号网络服务”
5 判断调治解调器是否正在使用
6 自动获取IP