当前位置:   article > 正文

获取硬件信息的delphi源码(CPUID、操作系统、Mac物理地址、计算机名称、IP地址、用户名)_获取电脑配置源码

获取电脑配置源码

转载请保留本文链接地址:http://blog.csdn.net/sushengmiyan/article/details/8545673

  1. {-----------------------------------------------------------------------------
  2. 作者:sushengmiyan 2013.01.26
  3. 备注:
  4. 功能:硬件信息获取单元
  5. -----------------------------------------------------------------------------}
  6. unit ApplicationHardWareInfo;
  7. interface
  8. uses
  9. Windows, SysUtils, Classes, Registry, Nb30, WinSock;
  10. type
  11. TCPUID = array[1..4] of Longint;
  12. function GetCPUID: TCPUID; assembler; register;
  13. type
  14. //CPUID信息类
  15. TCPUIDInfo = class
  16. private
  17. FCPUID: TCPUID;
  18. FCPUIDStr: string;
  19. procedure SetCPU(AHandle: THandle; CpuNo: Integer);
  20. function CPUIDTostr(ACPUID: TCPUID): string;
  21. function GetComputerBasicFrequency: string;
  22. function GetCPUType: string;
  23. public
  24. function GetCPUIDstr: string;
  25. property CPUFrequency: string read GetComputerBasicFrequency;
  26. property ProcessorType: string read GetCPUType;
  27. constructor Create;
  28. end;
  29. //mac地址信息类
  30. TMacAdressInfo = class
  31. private
  32. FMacAdress: string;
  33. function GetMacPhysicalAddress(Alana: Integer = 0): string;
  34. function GetMacAddress: string;
  35. public
  36. property MacAdrress: string read GetMacAddress;
  37. constructor Create;
  38. end;
  39. //用户信息类
  40. TPCUserInfo = class
  41. private
  42. function GetUserName: string;
  43. function GetHostIP: string;
  44. function GetWindowsVertion: string;
  45. public
  46. property UserName: string read GetUserName;
  47. property HostIP: string read GetHostIP;
  48. property WindowsVertion: string read GetWindowsVertion;
  49. constructor Create;
  50. end;
  51. implementation
  52. { TCPUIDInfo }
  53. {----------------------------------------------------------------------------\-
  54. 作者:sushengmiyan 2013.01.26
  55. 参数:None
  56. 返回:TCPUID
  57. 功能:汇编方式获取CPUID
  58. \-----------------------------------------------------------------------------}
  59. function GetCPUID: TCPUID;
  60. asm
  61. PUSH EBX {Save affected register}
  62. PUSH EDI
  63. MOV EDI,EAX {@Resukt}
  64. MOV EAX,1
  65. DW $A20F {CPUID Command}
  66. STOSD {CPUID[1]}
  67. MOV EAX,EBX
  68. STOSD {CPUID[2]}
  69. MOV EAX,ECX
  70. STOSD {CPUID[3]}
  71. MOV EAX,EDX
  72. STOSD {CPUID[4]}
  73. POP EDI {Restore registers}
  74. POP EBX
  75. end;
  76. {----------------------------------------------------------------------------\-
  77. 作者:sushengmiyan 2013.01.26
  78. 参数:ACPUID: TCPUID
  79. 返回:string
  80. 功能:将十六进制的CPUID转换为字符串
  81. \-----------------------------------------------------------------------------}
  82. function TCPUIDInfo.CPUIDTostr(ACPUID: TCPUID): string;
  83. begin
  84. Result := '';
  85. Result := IntToHex(ACPUID[1] , 8) + IntToHex(ACPUID[2] , 8) + I
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/58818
推荐阅读
相关标签
  

闽ICP备14008679号