1. <pre name="code" class="csharp"> using System;
  2. using System.Collections;
  3. using System.Management;
  4. public class OneProgram
  5. {
  6. public static void Main()
  7. {
  8. Console.WriteLine("HostName:{0}", HardwareInfo.GethostName());
  9. Console.WriteLine("CPU:{0}", HardwareInfo.GetCPUSerialNumber());
  10. Console.WriteLine("Harddisk:{0}", HardwareInfo.GetDiskSerialNumber());
  11. Console.WriteLine("MAC:{0}", HardwareInfo.GetMacAddress());
  12. Console.ReadLine();
  13. }
  14. }
  15. class HardwareInfo
  16. {
  17. /// <summary>
  18. /// 取机器名
  19. /// </summary>
  20. /// <returns></returns>
  21. public static string GethostName()
  22. {
  23. return System.Net.Dns.GetHostName();
  24. }
  25. /// <summary>
  26. /// 获取CPU序列号
  27. /// </summary>
  28. /// <returns></returns>
  29. public static string GetCPUSerialNumber()
  30. {
  31. string cpuSerialNumber = string.Empty;
  32. ManagementClass mc = new ManagementClass("Win32_Processor");
  33. ManagementObjectCollection moc = mc.GetInstances();
  34. foreach (ManagementObject mo in moc)
  35. {
  36. cpuSerialNumber = mo["ProcessorId"].ToString();
  37. break;
  38. }
  39. mc.Dispose();
  40. moc.Dispose();
  41. return cpuSerialNumber;
  42. }
  43. /// <summary>
  44. /// 获取硬盘序列号
  45. /// </summary>
  46. /// <returns></returns>
  47. public static string GetDiskSerialNumber()
  48. {
  49. ManagementObjectSearcher mos = new ManagementObjectSearcher();
  50. mos.Query = new SelectQuery("Win32_DiskDrive", "", new string[] { "PNPDeviceID", "Signature" });
  51. ManagementObjectCollection myCollection = mos.Get();
  52. ManagementObjectCollection.ManagementObjectEnumerator em = myCollection.GetEnumerator();
  53. em.MoveNext();
  54. ManagementBaseObject moo = em.Current;
  55. string id = moo.Properties["signature"].Value.ToString().Trim();
  56. return id;
  57. }
  58. /// <summary>
  59. /// 获取网卡MAC地址
  60. /// </summary>
  61. /// <returns></returns>
  62. public static string GetMacAddress()
  63. {
  64. string _MacAddress = "";
  65. ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
  66. ManagementObjectCollection moc2 = mc.GetInstances();
  67. foreach (ManagementObject mo in moc2)
  68. {
  69. if ((bool)mo["IPEnabled"] == true)
  70. _MacAddress = mo["MacAddress"].ToString();
  71. mo.Dispose();
  72. }
  73. return _MacAddress.ToString();
  74. }
  75. }

  1.  

获取CPU序列号、网卡MAC地址、硬盘序列号的更多相关文章

  1. VC++获取网卡MAC、硬盘序列号、CPU ID、BIOS编号

    以下代码可以取得系统特征码(网卡MAC.硬盘序列号.CPU ID.BIOS编号) BYTE szSystemInfo[4096]; // 在程序执行完毕后,此处存储取得的系统特征码 UINT uSys ...

  2. 获取网卡MAC、硬盘序列号、CPU_ID、BIOS编号

    抄来的 获取网卡MAC.硬盘序列号.CPU ID.BIOS编号 本文中所有原理及思想均取自网络,有修改.其中获取硬盘序列号.获取CPU编号.获取BIOS编号的原始代码的著作权归各自作者所有. 以下代码 ...

  3. 取计算机特征码(网卡MAC、硬盘序列号、CPU ID、BIOS编号)

    以下代码可以取得系统特征码(网卡MAC.硬盘序列号.CPU ID.BIOS编号) BYTE szSystemInfo[4096]; // 在程序执行完毕后,此处存储取得的系统特征码    UINT u ...

  4. C# 中获取CPU序列号/网卡mac地址

    1.cpu序列号2.mac序列号3.硬盘id在给软件加序列号时这三个应该是最有用的,可以实现序列号和机器绑定,对保护软件很有好处.哈哈.   using System; using System.Ma ...

  5. 转: 通过WMI获取网卡MAC地址、硬盘序列号、主板序列号、CPU ID、BIOS序列号

    最近由于项目的需要,需要在程序中获取机器的硬盘序列号和MAC地址等信息,在C#下,可以很容易的获得这些信息,但是在C++程序中感觉比较麻烦.经过百度,发现很多大虾都是通过WMI来获取这些硬件信息的,网 ...

  6. (转)通过WMI获取网卡MAC地址、硬盘序列号、主板序列号、CPU ID、BIOS序列号

    最近由于项目的需要,需要在程序中获取机器的硬盘序列号和MAC地址等信息,在C#下,可以很容易的获得这些信息,但是在C++程序中感觉比较麻烦.经过百度,发现很多大虾都是通过WMI来获取这些硬件信息的,网 ...

  7. MD5做为文件名。机器唯一码有电脑的CPU信息和MAC地址,这两个信息需要在linux或unix系统下才能获取吧。

    可以采用机器(电脑)唯一码 + 上传IP + 当前时间戳 + GUID ( + 随机数),然后MD5做为文件名.机器唯一码有电脑的CPU信息和MAC地址,这两个信息需要在linux或unix系统下才能 ...

  8. Python 获取 网卡 MAC 地址

    /*********************************************************************** * Python 获取 网卡 MAC 地址 * 说明: ...

  9. 获取客户端网卡MAC地址和IP地址实现JS代码

    获取客户端网卡MAC地址和IP地址实现JS代码 作者: 字体:[增加 减小] 类型:转载   获取客户端的一些信息,如IP和MAC,以结合身份验证,相信很多人都会这样做吧,我们这里用Javascrip ...

随机推荐

  1. TortoiseSvn/Git的WaterEffect

    https://github.com/TortoiseGit/TortoiseGit/blob/master/src/Utils/MiscUI/WaterEffect.cpp C#的实现: http: ...

  2. vue的使用1

    Vue.$set(object, key, value); <!-- Alt + C --> <input @keyup.alt.="clear"> < ...

  3. GS环境里面 9999 常用密码的加密后的值

    1. Test6530 APTZ5s6vrw1dglqO/63osA== 2. aaaaaa zgnewZXGGoqcPGtNpXTSXQ== 3. cwpass 3Me34S0+zY4xEGUFtz ...

  4. Oracle18c Exadata 版本安装介质安装失败。

    下载下来的介质安装失败 白费一早上的功夫.. 一会儿问问云和恩墨的人呢.. INFO: [-- ::] Skipping line: 复制数据库文件 INFO: [-- ::] Skipping li ...

  5. FICO模块

  6. GlusterFS卷的优化

    GlusterFS可以通过配置选项来优化卷 配置选项 用途 默认值 合法值 network.ping-timeout    客户端等待检查服务器是否响应的持续时间,节点挂了数据不能写入 42 0-42 ...

  7. gitbook 简单使用

    gitbook 简单使用 之前由于公司培训过使用 gitbook,当时也没有进行安装使用.当时就感觉就是 markdown 语法,加上我本来就是使用 markdown 进行写博客之类.再加上这个东西本 ...

  8. charts & data visualization

    charts & data visualization https://www.sitepoint.com/15-best-javascript-charting-libraries/ Can ...

  9. Java之数组遍历

    package basic; //数组遍历方法 public class ForEach { public static void main(String[] args) { // 原始数组 Stri ...

  10. hashCode和equal

    转自:https://www.cnblogs.com/dolphin0520/p/3681042.html hashCode方法在Object类中: public native int hashCod ...