用C#获取硬盘序列号,CPU序列号,网卡MAC地址- 云中漫步- 博客园

http://www.winsim.com/diskid32/diskid32.html  

这个问题首先得考虑的就是你的硬盘是不是SCSI硬盘  
  如果是,那么根本不存在"物理序列号",只可能取得卷标的序列号  
  如果是卷标序列号,要注意的是每次格式化硬盘的时候这个序列号都会变  
  代码可以参考:  
  http://www.csdn.net/Develop/Read_Article.asp?Id=25196  
  如果是物理序列号:  
  String   HDid;  
  ManagementClass   cimobject   =   new   ManagementClass("Win32_DiskDrive");  
  ManagementObjectCollection   moc   =   cimobject.GetInstances();  
  foreach(ManagementObject   mo   in   moc)  
  {  
  HDid   =   (string)mo.Properties["Model"].Value;  
  MessageBox.Show(HDid   );    
  }

如果是取得逻辑序列号(Format产生的那个),用WMI就可以,在引用中,添加system.mangement以后。    
  using   System.Management;  
  .....  
  ManagementObject     m_objDisk     =     new     ManagementObject(     "win32_logicaldisk.deviceid=/"c/"");          
  string     strSN     =     (string)m_objDisk.GetPropertyValue(     "VolumeSerialNumber     ");          
  如果要取得物理分区号,看这个帖子:  
  关于硬盘序列号,高手请留步啊.   (之一)  
  http://expert.csdn.net/Expert/TopicView3.asp?id=1143107 

683E0480(第一种方案取得)

ST3160815AS (第二个方案取得的)

5239355835565745202020202020202020202020(第三种方案取得)

private string[] GetMoc()
{
string[] str = new string[3];
            ManagementClass mcCpu = new ManagementClass("win32_Processor");
            ManagementObjectCollection mocCpu = mcCpu.GetInstances();
foreach(ManagementObject m in mocCpu)
{
                str[0] = m["ProcessorId"].ToString();
            }

            ManagementClass mcHD = new ManagementClass("win32_logicaldisk");
            ManagementObjectCollection mocHD = mcHD.GetInstances();
foreach(ManagementObject m in mocHD)
{
if(m["DeviceID"].ToString() == "C:")
{
                    str[1] = m["VolumeSerialNumber"].ToString();
break;
                }
            }

            ManagementClass mcMAC = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection mocMAC = mcMAC.GetInstances();
foreach(ManagementObject m in mocMAC)
{
if((bool)m["IPEnabled"])
{
                    str[2] = m["MacAddress"].ToString();
break;
                }
            }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值