ComputerTool.cs 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Management;
  4. using System.Net.NetworkInformation;
  5. namespace Y.Utils.ComputerUtils
  6. {
  7. public static class ComputerInfoTool
  8. {
  9. #region 获取CpuId
  10. public static string GetCpuId()
  11. {
  12. ManagementClass mc = null;
  13. ManagementObjectCollection moc = null;
  14. string ProcessorId = "";
  15. try
  16. {
  17. mc = new ManagementClass("Win32_Processor");
  18. moc = mc.GetInstances();
  19. foreach (ManagementObject mo in moc)
  20. {
  21. ProcessorId = mo.Properties["ProcessorId"].Value.ToString();
  22. }
  23. return ProcessorId;
  24. }
  25. catch
  26. {
  27. return "unknow";
  28. }
  29. finally
  30. {
  31. if (moc != null) moc.Dispose();
  32. if (mc != null) mc.Dispose();
  33. }
  34. }
  35. #endregion
  36. #region 获取CPU信息
  37. public static string GetCpuInfo()
  38. {
  39. try
  40. {
  41. string result = "";
  42. ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_Processor");
  43. foreach (ManagementObject item in searcher.Get())
  44. {
  45. result = item["Name"].ToString();
  46. }
  47. return result;
  48. }
  49. catch
  50. { return "unknown"; }
  51. }
  52. #endregion
  53. #region 获取网卡信息
  54. /// <summary>
  55. /// 获取网卡信息
  56. /// Item1:描述,Item2:物理地址(Mac),Item3:Ip地址
  57. /// </summary>
  58. /// <returns></returns>
  59. public static List<Tuple<string, string, string>> GetNetworkCardInfo()
  60. {
  61. try
  62. {
  63. List<Tuple<string, string, string>> result = new List<Tuple<string, string, string>>();
  64. NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
  65. foreach (var item in adapters)
  66. {
  67. if (item.NetworkInterfaceType == NetworkInterfaceType.Ethernet || item.NetworkInterfaceType == NetworkInterfaceType.Wireless80211)
  68. {
  69. result.Add(new Tuple<string, string, string>(
  70. item.Description,
  71. item.GetPhysicalAddress().ToString(),
  72. item.GetIPProperties().UnicastAddresses[1].Address.ToString()));
  73. }
  74. }
  75. return result;
  76. }
  77. catch (NetworkInformationException e)
  78. {
  79. return null;
  80. }
  81. }
  82. #endregion
  83. }
  84. }