网上代码和MSDN帮助中都没有列出 ManagementObject[" "]这里到底有哪些属性可以使用,参考了http://www.groupsrv.com/dotnet/about69957.html了之后发现了可以枚举出来所有属性,代码如函数getallprop()。
函数useprop中描述了如何获取以激活的网卡的IP地址和它的驱动程序名称,如果大伙需要其他的网卡其他属性,就到getallprop()的结果中去找了,全英文的属性,没有对应的中文介绍,太多了,自己慢慢望文生义吧。
public void getallprop() //获取某个ManagementClass[" "]的所有属性名和值
{
ManagementClass c = new ManagementClass("Win32_Process");
ManagementClass mc;
mc = new ManagementClass("Win32_NetworkAdapterConfiguration");//网卡信息
//mc = new ManagementClass("Win32_Process");//查看系统进程信息
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject o in moc)
foreach (PropertyData prop in o.Properties)
textBox2.Text += prop.Name + "---" + prop.Value + "/r/n"; //列出所有可以使用的属性名和值
}
public string useprop() //具体属性名的使用
{
string []mac ;
ManagementClass mc;
mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (mo["IPEnabled"].ToString() == "True")
{
mac = (System.String[]) mo["IPAddress"]; //获去某网卡IP地址,可以多IP,所以是string[]类型
textBox2.Text += mac[0];//获得某网卡的第一个IP
textBox2.Text += mo["ServiceName"] + "/r/n"; //这个是网卡的驱动程序名
}
}
return "";
}
本文提供了一种使用.NET框架通过WMI(Windows Management Instrumentation)访问和获取当前系统中网络适配器配置信息的方法,包括IP地址和驱动程序名称等关键属性。通过编写两个函数,getallprop()用于枚举所有可用的属性,useprop()则展示了如何利用这些属性获取特定网卡的IP地址和驱动程序名称。
4715

被折叠的 条评论
为什么被折叠?



