C#调用WMI获取本机MAC地址列表。

None.gif private   void  button1_Click( object  sender, System.EventArgs e) 
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif
InBlock.gif            
string strsearch=string.Format(@"SELECT MACAddress FROM Win32_NetworkAdapter WHERE ((MACAddress Is Not NULL)AND (Manufacturer <> 'Microsoft'))"); 
InBlock.gif 
InBlock.gif            System.Management.ManagementObjectSearcher msearch
=new ManagementObjectSearcher();  
InBlock.gif            msearch.Scope
=new ManagementScope(@"root\CIMV2"); 
InBlock.gif            msearch.Query
=new ObjectQuery(strsearch); 
InBlock.gif            
int i=1
InBlock.gif            
try 
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif
InBlock.gif                
if((msearch.Get().Count<1|| (msearch.Get()==null)) 
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif
InBlock.gif                    
this.listBox1.Items.Add("No MAC Address!"); 
ExpandedSubBlockEnd.gif                }
 
InBlock.gif                
else 
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif
InBlock.gif                    
foreach(System.Management.ManagementObject mymac in msearch.Get()) 
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
dot.gif
InBlock.gif                        
string str1=string.Format("MAC{0} address:{1}",i.ToString(),mymac["MACAddress"].ToString()); 
InBlock.gif                        
this.listBox1.Items.Add(str1); 
InBlock.gif                        i
++
ExpandedSubBlockEnd.gif                    }
 
ExpandedSubBlockEnd.gif                }
 
ExpandedSubBlockEnd.gif            }
 
InBlock.gif            
catch(Exception ex) 
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif
InBlock.gif                
string msg=ex.Message.ToString(); 
InBlock.gif                MessageBox.Show(
"erro", msg); 
ExpandedSubBlockEnd.gif            }
 
InBlock.gif 
ExpandedBlockEnd.gif        }
 

我想是因为现在介绍WMI的文档太少,大多都是介绍一些常见的查询功能,更多的执行功能,很少有文章介绍,没有文档或参考代码很难搞懂。而且wmi在执行时(查询,或执行wmi函数), 很难捕获控制异常错误。
这里有个WMI的管理工具,在编写wmi的代码时,非常有用,可以查询,wmi有哪些方法和属性可以利用,和调用方法是需要哪些参数,wmi的一些方法名确实很莫名其妙。
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=6430F853-1120-48DB-8CC5-F2ABDC3ED314
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值