delphi xe 取CPU等硬件信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi xe 取CPU等硬件信息相关的知识,希望对你有一定的参考价值。

请提供delphi xe,64位 下可用的取计算机硬件信息的源码,包括 cpu频率/数量/内存大小/内存条数/显卡数量/型号/网卡数量/型号/ip/MAC/硬盘数量/大小谢谢
64位系统下可用的

  uses HardWareInfo.pas  引用自定义单元,文件见附件
procedure TForm1.Button1Click(Sender: TObject);
var
  CPUinfo:TCPU_info;       //定义CPU对象
  Diskinfo:TDisk_info;     //硬盘
  Memoryinfo:TMemory_info; //内存
  NICinfo:TNIC_info;       //网卡
  VGAinfo:TVGA_info;        //显卡
begin
  //创建实例
  CPUinfo:=TCPU_info.Create;
  Diskinfo:=TDisk_info.Create;
  Memoryinfo:=TMemory_info.Create;
  NICinfo:=TNIC_info.Create;
  VGAinfo:=TVGA_info.Create;

  //显示硬件信息
  memo1.Lines.Add('********************CPU*************************');
  memo1.Lines.Add('制造商: '+CPUinfo.GetCpuFactory);
  memo1.Lines.Add('型号:   '+CPUinfo.GetCpuModel);
  memo1.Lines.Add('个数:   '+CPUinfo.GetCPUCount);

  memo1.Lines.Add('********************硬盘*************************');
  memo1.Lines.Add(Diskinfo.print_diskinfo);

  memo1.Lines.Add('********************内存*************************');
  memo1.Lines.Add(Memoryinfo.GetMemorysize);
  memo1.Lines.Add(Memoryinfo.Getvirtualmemory);
  memo1.Lines.Add(Memoryinfo.GetusingMemory);

  memo1.Lines.Add('********************网卡*************************');
  memo1.Lines.Add('序列号: '+NICinfo.GetNICID);
  memo1.Lines.Add('本地IP: '+NICinfo.GetLocalIP);
  memo1.Lines.Add('MAC地址: '+NICinfo.GetMAC);

  memo1.Lines.Add('********************显卡*************************');
  memo1.Lines.Add(VGAinfo.printf_VGAinfo);
end;


追问

报错,64位不能用汇编吗?

参考技术A uses HardWareInfo.pas
procedure TForm1.Button1Click(Sender: TObject);
var
CPUinfo:TCPU_info; //定义CPU对象
Diskinfo:TDisk_info; //硬盘
Memoryinfo:TMemory_info; //内存
NICinfo:TNIC_info; //网卡
VGAinfo:TVGA_info; //显卡
begin
//创建实例
CPUinfo:=TCPU_info.Create;
Diskinfo:=TDisk_info.Create;
Memoryinfo:=TMemory_info.Create;
NICinfo:=TNIC_info.Create;
VGAinfo:=TVGA_info.Create;

//显示硬件信息
memo1.Lines.Add('********************CPU*************************');
memo1.Lines.Add('制造商: '+CPUinfo.GetCpuFactory);
memo1.Lines.Add('型号: '+CPUinfo.GetCpuModel);
memo1.Lines.Add('个数: '+CPUinfo.GetCPUCount);

memo1.Lines.Add('********************硬盘*************************');
memo1.Lines.Add(Diskinfo.print_diskinfo);

memo1.Lines.Add('********************内存*************************');
memo1.Lines.Add(Memoryinfo.GetMemorysize);
memo1.Lines.Add(Memoryinfo.Getvirtualmemory);
memo1.Lines.Add(Memoryinfo.GetusingMemory);

memo1.Lines.Add('********************网卡*************************');
memo1.Lines.Add('序列号: '+NICinfo.GetNICID);
memo1.Lines.Add('本地IP: '+NICinfo.GetLocalIP);
memo1.Lines.Add('MAC地址: '+NICinfo.GetMAC);

memo1.Lines.Add('********************显卡*************************');
memo1.Lines.Add(VGAinfo.printf_VGAinfo);
end;

linux 如何查看硬盘大小,存储空间大小等系统信息及硬件信息

一、linux CPU大小
[root@idc ~]# cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id"
model name: Intel(R) Xeon(TM) CPU 2.80GHz
model name: Intel(R) Xeon(TM) CPU 2.80GHz
model name: Intel(R) Xeon(TM) CPU 2.80GHz
model name: Intel(R) Xeon(TM) CPU 2.80GHz
physical id : 0
physical id : 0
physical id : 3
physical id : 3
[root@idc ~]#

说明:Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu,在cpuinfo中会看到两个cpu。常常会让人误以为是两个单核的cpu。
其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到. flags 如果有 ht 说明支持超线程技术 判断物理CPU的个数可以查看physical id 的值,相同则为同一个物理CPU
可以看到上面,这台机器有两个双核的CPU,ID分别是0和3,大小是2.8G。


二、内存大小
[root@xbidc ~]# cat /proc/meminfo |grep MemTotal
MemTotal: 1034612 kB
[root@xbidc ~]#

三、硬盘大小
[root@xbidc ~]# fdisk -l |grep Disk
Disk /dev/sda: 300.0 GB, 300000000000 bytes
[root@xbidc ~]#

四、 更多查看linux硬件信息的方法
uname -a # 查看内核/操作系统/CPU信息的linux系统信息命令
head -n 1 /etc/issue # 查看操作系统版本,是数字1不是字母L
cat /proc/cpuinfo # 查看CPU信息的linux系统信息命令
hostname # 查看计算机名的linux系统信息命令
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备的linux系统信息命令
lsmod # 列出加载的内核模块
env # 查看环境变量资源
free -m # 查看内存使用量和交换区使用量
df -h # 查看各分区使用情况
du -sh # 查看指定目录的大小
grep MemTotal /proc/meminfo # 查看内存总量
grep MemFree /proc/meminfo # 查看空闲内存量
uptime # 查看系统运行时间、用户数、负载
cat /proc/loadavg # 查看系统负载磁盘和分区
mount | column -t # 查看挂接的分区状态
fdisk -l # 查看所有分区
swapon -s # 查看所有交换分区
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE # 查看启动时IDE设备检测状况网络
ifconfig # 查看所有网络接口的属性
iptables -L # 查看防火墙设置
route -n # 查看路由表
netstat -lntp # 查看所有监听端口
netstat -antp # 查看所有已经建立的连接
netstat -s # 查看网络统计信息进程
ps -ef # 查看所有进程
top # 实时显示进程状态用户
w # 查看活动用户
id # 查看指定用户信息
last # 查看用户登录日志
cut -d: -f1 /etc/passwd # 查看系统所有用户
cut -d: -f1 /etc/group # 查看系统所有组
crontab -l # 查看当前用户的计划任务服务
chkconfig –list # 列出所有系统服务
chkconfig –list | grep on # 列出所有启动的系统服务程序
rpm -qa # 查看所有安装的软件包
cat /proc/cpuinfo :查看CPU相关参数的linux系统命令
cat /proc/partitions :查看linux硬盘和分区信息的系统信息命令
cat /proc/meminfo :查看linux系统内存信息的linux系统命令
cat /proc/version :查看版本,类似uname -r
cat /proc/ioports :查看设备io端口
cat /proc/interrupts :查看中断
cat /proc/pci :查看pci设备的信息
cat /proc/swaps :查看所有swap分区的信息

以上是关于delphi xe 取CPU等硬件信息的主要内容,如果未能解决你的问题,请参考以下文章

Linux 查看CPU信息机器型号等硬件信息[转]

Linux下查看CPU信息机器型号等硬件信息命令

linux dmidecode 获取CPU ID等系统硬件信息

linux查询硬件信息(CPU内存主板等)

快速查看主板CPU显卡等硬件信息的方法

linux下查看cpu,内存,硬盘等硬件信息的方法