zoukankan      html  css  js  c++  java
  • .net中如何获取机器硬件信息(防软件复制版)

    最近帮人做个关于软件注册的东东,对方一定要防止大量复制和防止注册码通用,所以就想到用机器的硬件信息进行注册码的生成,所以就牵涉到在获取机器硬件信息。。。

    在.net环境下(用VC#描述)获取机器的硬件信息,要用到一个类库(System.Management.dll),在解决方案资源管理器中添加System.Management 即可

    我们可以将该程序编译成.dll文件,便于以后调用;

    在程序代码中进行引用 using System.Management;

    具体 代码为:

    1.获取机器名:

     public string GetHostName()
    {
    return System.Net.Dns.GetHostName();
    }

    2.获取CPU编号

     public string GetCpuId()

    {

     ManagementClass mc = new ManagementClass("Win32_Processor");
     ManagementObjectCollection moc = mc.GetInstances();

     String strCpuID = null ;
     foreach( ManagementObject mo in moc )
     {
     strCpuID = mo.Properties["ProcessorId"].Value.ToString();
     break;
     }
     return strCpuID;

    }

    3.获取主硬盘编号

    public string GetMainHardDiskId()

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

    4.获取bios和mac地址,这个有点复杂,需要用到NETAPI32.DLL
    另外补充:
    5.获取网卡的mac地址
    using   System.Management;   
    Public string GetNetWorkAdapterID()
    {
     string str="";
         ManagementClass   mc   =   new   ManagementClass("Win32_NetworkAdapterConfiguration");  
        ManagementObjectCollection   moc   =   mc.GetInstances();    
       foreach(ManagementObject   mo   in   moc)    
       {    
        if((bool)mo["IPEnabled"]   ==   true)  
                    {  
              //Console.WriteLine("MAC   address\t{0}",   mo["MacAddress"].ToString());
       str=mo["MacAddress"].ToString();    
                              mo.Dispose();    
        }    
       }
     return str;

      ---------------------------------------------  
      如果系统提示找不到名字空间Management,  
      1.   在Solution   Explorer中鼠标右键单击References,选择Add   Reference…    
      2.   此时会弹出Add   Reference对话框,选中.NET选项卡。  
      3.   选中System.Management,点select  
      4.   点击”OK”。

  • 相关阅读:
    vb.net的数据类型
    PHP常用函数
    399. Evaluate Division
    329. Longest Increasing Path in a Matrix
    415. Add Strings
    463 Island Perimeter
    400. Nth Digit
    401. Binary Watch
    391. Perfect Rectangle
    406. Queue Reconstruction by Height
  • 原文地址:https://www.cnblogs.com/nianshi/p/698679.html
Copyright © 2011-2022 走看看