急!!!获取网卡状态!!!!!!!! 高手帮忙,1、我想通过C#获取机器的网卡连接状态,请各位大侠指点!2、如果一台机器上装有多块网卡,我应该如何判断每一块网卡的连接状态及相应的IP信息? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://topic.csdn.net/t/20030923/10/2289810.html 我也需要这方面~ 尤其是 是否能连接到WWW 也是个问题 如何判断 下面是我自己写的,ms网站上面有例子,CS101SamplesBCL里面的networkusing System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Net;using System.Text;using System.IO;using System.Net.NetworkInformation;public partial class netuser_Default : System.Web.UI.Page{ private NetworkInterface[] interFace; private StringBuilder sb = new StringBuilder(); protected void Page_Load(object sender, EventArgs e) { //查看是否有可用的网络连接 if (NetworkInterface.GetIsNetworkAvailable()) { //得到所有的可用的网络连接 interFace = NetworkInterface.GetAllNetworkInterfaces(); } foreach (NetworkInterface i in interFace) { PhysicalAddress p = i.GetPhysicalAddress(); sb.Append("网卡名称是:" + i.Name.ToString() + "<br/>"); sb.Append("物理地址是:"+p.ToString()+"<br/>"); sb.Append("ID是:" + i.Id.ToString() + "<br/>"); sb.Append("类型是:" + i.NetworkInterfaceType.ToString() + "<br/>"); sb.Append("当前网络连接操作状态是:" + i.OperationalStatus.ToString() + "<br/>"); sb.Append("速度是" + i.Speed.ToString("N") + "字节<br/>"); sb.Append("是否设置为只接收数据包:" + i.IsReceiveOnly.ToString() + "<br/>"); sb.Append("是否启用了网络接口用以接受多路广播数据报:" + i.SupportsMulticast.ToString() + "<br/>"); sb.Append("是否支持ipv4:" + i.Supports(NetworkInterfaceComponent.IPv4).ToString() + "<br/>"); sb.Append("是否支持ipv6:" + i.Supports(NetworkInterfaceComponent.IPv6).ToString() + "<br/>"); sb.Append("接口描述:" + i.Description.ToString() + "<br/>"); sb.Append("<br/><br/>"); } Label1.Text = sb.ToString(); }}得到ip地址是 IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName()); Label1.Text = "本机域名为:" + Dns.GetHostName() + "<br/>Ip地址为"+host.AddressList[0].ToString();看是否联网了ping一个就可以了 private Ping userping; userping = new Ping(); PingReply pr = userping.Send(ip地址); if (pr.Status == IPStatus.Success)//还有其他的枚举状态,自己去看 { // do something } networkinterface和ip的addresslist的顺序是对应的 非常感谢各位networkinterface和ip的addresslist的顺序是对应的 能不能说的详细一点呀,用这种方法可以获取一台机器上不同网卡的相应状态吗? 可以,它得到的是一个数组说它们是对应的表示networkinterface[0]和addresslist[0]是同一块网卡的地址和ip 非常感谢,不过这个方法是在vs2005下的,有没有vs2003下的呀 To:xiaotupansy(微雨燕双飞) VS2003下面没有using System.Net.NetworkInformation;现在2005下的相应函数在2003下能找到吗? cfs1979(学无止境) ( ) 信誉:100 Blog 2006-12-23 20:23:15 得分: 0 To:xiaotupansy(微雨燕双飞) VS2003下面没有using System.Net.NetworkInformation;现在2005下的相应函数在2003下能找到吗?------------------找不到VS2005是DOTNET2.0,你用的VS2003找不到,说明用的是DOTNET1.1你可以下载个frameword2.0http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=zh-cn 非常感谢各位!To:lookcode() 我已经安装了.net2.0框架,可是应该怎么在VS2003下用呀。还希望各位多多帮助呀,小弟期待中...... 我现在使用Win32_NetworkAdapterConfiguration,可是怎么获取网卡当前状态呀,我现在只能通过这个获取到机器上的所有网卡IP和mac地址,怎么获取状态,如何知道IP与mac地址之间的对应关系? To cfs1979: 请问你的.net framework升级到2.0后,还是在vs2003可以调用.net framework2.0的函数吗? C# 如何把.NET Framework 3.5和自己的软件安装包一起打包? 一个多线程显示UI的问题 treeview空间的属性问题 .NET后台土登录问题 图片上传 问This关键字 怎样提升C#程序的权限优先级 在基窗口中用了new Bitmap() 运行没错,但他的继承窗口设计器出错了,不知道为什么 pdf格式的问题?提别急 VS2013的ASP.NET项目,不发布直接按F5如何让局域网内的机子访问? c#里用gdi画的图如何放大才不会产生毛刺啊 哪位大哥帮我解决一个有关windows事件的问题!!!(今天又有了16分,全送上)
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net;
using System.Text;
using System.IO;
using System.Net.NetworkInformation;
public partial class netuser_Default : System.Web.UI.Page
{
private NetworkInterface[] interFace;
private StringBuilder sb = new StringBuilder();
protected void Page_Load(object sender, EventArgs e)
{
//查看是否有可用的网络连接
if (NetworkInterface.GetIsNetworkAvailable())
{
//得到所有的可用的网络连接
interFace = NetworkInterface.GetAllNetworkInterfaces();
}
foreach (NetworkInterface i in interFace)
{
PhysicalAddress p = i.GetPhysicalAddress(); sb.Append("网卡名称是:" + i.Name.ToString() + "<br/>"); sb.Append("物理地址是:"+p.ToString()+"<br/>"); sb.Append("ID是:" + i.Id.ToString() + "<br/>"); sb.Append("类型是:" + i.NetworkInterfaceType.ToString() + "<br/>"); sb.Append("当前网络连接操作状态是:" + i.OperationalStatus.ToString() + "<br/>"); sb.Append("速度是" + i.Speed.ToString("N") + "字节<br/>"); sb.Append("是否设置为只接收数据包:" + i.IsReceiveOnly.ToString() + "<br/>"); sb.Append("是否启用了网络接口用以接受多路广播数据报:" + i.SupportsMulticast.ToString() + "<br/>"); sb.Append("是否支持ipv4:" + i.Supports(NetworkInterfaceComponent.IPv4).ToString() + "<br/>"); sb.Append("是否支持ipv6:" + i.Supports(NetworkInterfaceComponent.IPv6).ToString() + "<br/>"); sb.Append("接口描述:" + i.Description.ToString() + "<br/>"); sb.Append("<br/><br/>"); }
Label1.Text = sb.ToString();
}
}
得到ip地址是
IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
Label1.Text = "本机域名为:" + Dns.GetHostName() + "<br/>Ip地址为"+host.AddressList[0].ToString();
看是否联网了ping一个就可以了
private Ping userping;
userping = new Ping();
PingReply pr = userping.Send(ip地址);
if (pr.Status == IPStatus.Success)//还有其他的枚举状态,自己去看
{
// do something
}
说它们是对应的表示networkinterface[0]和addresslist[0]是同一块网卡的地址和ip
VS2003下面没有using System.Net.NetworkInformation;现在2005下的相应函数在2003下能找到吗?
To:xiaotupansy(微雨燕双飞)
VS2003下面没有using System.Net.NetworkInformation;现在2005下的相应函数在2003下能找到吗?
------------------
找不到
VS2005是DOTNET2.0,你用的VS2003找不到,说明用的是DOTNET1.1
你可以下载个frameword2.0
http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=zh-cn
我已经安装了.net2.0框架,可是应该怎么在VS2003下用呀。还希望各位多多帮助呀,小弟期待中......
请问你的.net framework升级到2.0后,还是在vs2003可以调用.net framework2.0的函数吗?