private void button1_Click(object sender, System.EventArgs e)
{
string strsearch=string.Format(@"SELECT MACAddress FROM Win32_NetworkAdapter WHERE ((MACAddress Is Not NULL)AND (Manufacturer <> 'Microsoft'))");
System.Management.ManagementObjectSearcher msearch=new ManagementObjectSearcher();
msearch.Scope=new ManagementScope(@"root\CIMV2");
msearch.Query=new ObjectQuery(strsearch);
int i=1;
try
{
if((msearch.Get().Count<1) || (msearch.Get()==null))
{
this.listBox1.Items.Add("No MAC Address!");
}
else
{
foreach(System.Management.ManagementObject mymac in msearch.Get())
{
string str1=string.Format("MAC{0} address:{1}",i.ToString(),mymac["MACAddress"].ToString());
this.listBox1.Items.Add(str1);
i++;
}
}
}
catch(Exception ex)
{
string msg=ex.Message.ToString();
MessageBox.Show("erro", msg);
}
}
{
string strsearch=string.Format(@"SELECT MACAddress FROM Win32_NetworkAdapter WHERE ((MACAddress Is Not NULL)AND (Manufacturer <> 'Microsoft'))");
System.Management.ManagementObjectSearcher msearch=new ManagementObjectSearcher();
msearch.Scope=new ManagementScope(@"root\CIMV2");
msearch.Query=new ObjectQuery(strsearch);
int i=1;
try
{
if((msearch.Get().Count<1) || (msearch.Get()==null))
{
this.listBox1.Items.Add("No MAC Address!");
}
else
{
foreach(System.Management.ManagementObject mymac in msearch.Get())
{
string str1=string.Format("MAC{0} address:{1}",i.ToString(),mymac["MACAddress"].ToString());
this.listBox1.Items.Add(str1);
i++;
}
}
}
catch(Exception ex)
{
string msg=ex.Message.ToString();
MessageBox.Show("erro", msg);
}
}
我想是因为现在介绍WMI的文档太少,大多都是介绍一些常见的查询功能,更多的执行功能,很少有文章介绍,没有文档或参考代码很难搞懂。而且wmi在执行时(查询,或执行wmi函数), 很难捕获控制异常错误。
这里有个WMI的管理工具,在编写wmi的代码时,非常有用,可以查询,wmi有哪些方法和属性可以利用,和调用方法是需要哪些参数,wmi的一些方法名确实很莫名其妙。
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=6430F853-1120-48DB-8CC5-F2ABDC3ED314