大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
原文:http://blog.csdn.net/hardstone1/article/details/5380775
网上代码和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 “”;
}
原文:http://www.cnblogs.com/xiangdejun/archive/2010/07/22/1783061.html
1. 添加
System.Management 的引用
2. 在cs代码中初始化引用
ManagementClass mc = new ManagementClass(“引用的WMI库名称”);
可供引用的WMI类库在MSDN中可查到:
http://msdn.microsoft.com/en-us/library/aa394084(v=VS.85).aspx
3. 获取WMI实例
ManagementObjectCollection moc= vNetworkAdapter.GetInstances();
这里获取到的是WMI实例集合,例如,获取网络适配器信息,这里会获取到无线连接、有线连接、1394连接等与网络连接有关的实例集合。
4. 循环个实例获取其属性
foreach (ManagementObject mo in moc)
{
//TODO: 获取各实例属性
//实例各属性、方法、解释也可在http://msdn.microsoft.com/en-us/library/aa394084(v=VS.85).aspx里查到
}
5. 修改
修改需要用到 ManagementObject.InvokeMethod(MethodName, ManagementBaseObject, InvokeMethodOptions ); 方法
MethodName 为要执行的方法名称的,也可在上面MSDN的链接中查到;
ManagementBaseObject 不好解释,官方解释为“包含管理对象的基本元素。用作管理更具体的管理对象类的基类。”
InvokeMethodOptions 执行附加选项,可以为NULL。
完整实例:
=
new
ManagementClass(
“
Win32_NetworkAdapterConfiguration
“
);
ManagementObjectCollection moc
=
mc.GetInstances();
foreach
(ManagementObject mo
in
moc)
{
//
如果没有启用IP设置的网络设备则跳过
if
(
!
(
bool
)mo[
“
IPEnabled
“
])
continue
;
//
获取属性
string
caption
=
mo[
“
Caption
“
].ToString();
//
名称
string
[] addresses
=
(
string
[])mo[
“
IPAddress
“
];
//
IP地址
string
[] subnets
=
(
string
[])mo[
“
IPSubnet
“
];
//
子网掩码
string
[] gateways
=
(
string
[])mo[
“
DefaultIPGateway
“
];
//
网关
string
[] dnses
=
(
string
[])mo[
“
DNSServerSearchOrder
“
];
//
DNS
ManagementBaseObject newIP;
//
修改IP及子网掩码
newIP
=
mo.GetMethodParameters(
“
EnableStatic
“
);
newIP[
“
IPAddress
“
]
=
new
string
[] {
“
192.168.2.51
“
};
newIP[
“
SubnetMask
“
]
=
new
string
[] {
“
255.255.255.0
“
};
//
修改IP同时,需要填写子网掩码
mo.InvokeMethod(
“
EnableStatic
“
, newIP,
null
);
//
设置网关地址
newIP
=
mo.GetMethodParameters(
“
SetGateways
“
);
newIP[
“
DefaultIPGateway
“
]
=
new
string
[] {
“
192.168.2.1
“
};
mo.InvokeMethod(
“
SetGateways
“
, newIP,
null
);
//
设置DNS
newIP
=
mo.GetMethodParameters(
“
SetDNSServerSearchOrder
“
);
newIP[
“
DNSServerSearchOrder
“
]
=
new
string
[] {
“
192.168.1.10
“
};
mo.InvokeMethod(
“
SetDNSServerSearchOrder
“
, newIP,
null
);
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186607.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...