DELPHI利WMI获得硬盘参数

procedure TFrmMain.RzGroup1Items5Click(Sender: TObject);
varWmi, Objs, Obj: oleVariant;Enum: IEnumVariant;C: Cardinal;Str,str1:string;
beginMemo1.Clear;Memo1.Lines.Add('【磁盘参数信息】');Wmi:= CreateOleObject('WbemScripting.SWbemLocator');Objs := Wmi.ConnectServer('.','root/cimv2').ExecQuery('Select * from Win32_DiskDrive');Enum := IEnumVariant(IUnknown(Objs._NewEnum));Enum.Reset;while (Enum.Next(1,Obj,C)=s_ok) dobeginstr1:='Index';Obj := Obj.Properties_.Item(str1, 0).Value;if VarIsNull(obj) thenbeginStr:='ERROR';end;if VarIsArray(obj) thenbeginstr:=Obj[0];end;if VarIsStr(obj) or VarIsCustom(obj) or VarIsFloat(obj) or VarIsNumeric(obj) or VarIsOrdinal(obj) thenbeginstr:=Obj;end;Memo1.Lines.Add('');Memo1.Lines.Add('磁盘序号:        '+Str);Memo1.Lines.Add('接口类型:        '+GetWMISub('DiskDrive','InterfaceType',str1,Str));Memo1.Lines.Add('磁盘名称:        '+GetWMISub('DiskDrive','Caption',str1,Str));Memo1.Lines.Add('磁盘序列号:     '+GetWMISub('DiskDrive','SerialNumber',str1,Str));Memo1.Lines.Add('磁盘大小:        '+FormatFloat('0',StrToFloat(GetWMISub('DiskDrive','Size',str1,Str))/1000/1000/1000)+' GB');Memo1.Lines.Add('磁盘分区数:     '+GetWMISub('DiskDrive','Partitions',str1,Str));Memo1.Lines.Add('柱面总数:        '+GetWMISub('DiskDrive','TotalCylinders',str1,Str));Memo1.Lines.Add('磁头总数:        '+GetWMISub('DiskDrive','TotalHeads',str1,Str));Memo1.Lines.Add('扇区总数:        '+GetWMISub('DiskDrive','TotalTracks',str1,Str));Memo1.Lines.Add('曲目总数:        '+GetWMISub('DiskDrive','TotalCylinders',str1,Str));end;
end;

公共函数

function GetWMISub(WMIType,WMIProperty,WMISearch,WMISearchText:String):String;
varWmi, Objs, Obj: oleVariant;Enum: IEnumVariant;C: Cardinal;
beginWmi:= CreateOleObject('WbemScripting.SWbemLocator');Objs := Wmi.ConnectServer('.','root/cimv2').ExecQuery('Select * from Win32_' + WMIType + ' where '+WMISearch+' = '+ '"'+WMISearchText+'"');Enum := IEnumVariant(IUnknown(Objs._NewEnum));Enum.Reset;Enum.Next(1,Obj,C);Obj := Obj.Properties_.Item(WMIProperty, 0).Value;if VarIsNull(obj) thenbeginResult:='Unknow';end;if VarIsArray(obj) thenbeginResult := Obj[0];end;if VarIsStr(obj) or VarIsCustom(obj) or VarIsFloat(obj) or VarIsNumeric(obj) or VarIsOrdinal(obj) thenbeginResult:= Obj;end;end;

WMI-Win32_DiskDrive 硬盘参数
Availability --设备的状态。
BytesPerSector --在每个扇区的物理磁盘驱动器的字节数。
Capabilities --媒体访问设备的能力阵列。
CapabilityDescriptions --更详细的解释为任何在功能阵列表示的访问设备的功能的列表
Caption --对象的序列号
CompressionMethod --设备所使用的算法或工具,以支持压缩。
ConfigManagerErrorCode --Windows配置管理器错误代码。
ConfigManagerUserConfig --如果为True,该设备使用用户定义的配置。
CreationClassName --代表所在的类
DefaultBlockSize --此设备默认块大小,以字节为单位。
Description --描述
DeviceID --磁盘驱动器与系统中的其他设备的唯一标识符
ErrorCleared --如果为True,报告LastErrorCode错误现已清除。
ErrorDescription --关于可能采取的纠正措施记录在LastErrorCode错误,和信息的详细信息。
ErrorMethodology --误差检测和校正的类型被此设备支持。
FirmwareRevision --修订制造商分配的磁盘驱动器固件。
Index --给定的驱动器的物理驱动器号。此属性由GetDriveMapInfo方法填补。 0xFF的值表示给定的驱动器不映射到物理驱动器。
InstallDate --日期和时间对象安装。此属性不需要的值以表示已安装的对象。
InterfaceType --物理磁盘驱动器的类型 (IDE、sata)
LastErrorCode --报告的逻辑设备上一个错误代码。
Manufacturer --制造商名称
MaxBlockSize --最大块的大小,以字节为单位,通过该设备访问的媒体。
MaxMediaSize --最大介质尺寸的介质,以KB为单位,由该设备支持。
MediaLoaded --如果真,媒体为一磁盘驱动器加载,这意味着该设备具有一个可读的文件系统和可访问。对于固定磁盘驱动器,该属性将始终为TRUE。
MediaType --由该设备使用或访问的媒体类型。
MinBlockSize --最小的块大小,以字节为单位,通过该设备访问的媒体。
Model --磁盘驱动器的制造商的型号。
Name --名字
NeedsCleaning --如果真,媒体接入设备需要清洁。不论手动或自动清洗是可能显示在Capabilities属性。
NumberOfMediaSupported --可被支持的或插入的介质最大数量
Partitions --此物理磁盘驱动器上的分区是由操作系统识别的数目。
PNPDeviceID --即插即用逻辑设备的播放设备标识符。
PowerManagementCapabilities --逻辑设备的特定功率相关的能力阵列。
PowerManagementSupported --如果为True,该设备可以是电源管理
SCSIBus --盘驱动器的SCSI总线号。
SCSILogicalUnit --SCSI逻辑单元的磁盘驱动器的号码(LUN)。
SCSIPort --盘驱动器的SCSI端口号。
SCSITargetId --SCSI标识符号码的磁盘驱动器的。
SectorsPerTrack --在每个轨道此物理磁盘驱动器扇区数。
SerialNumber --由制造商分配的号来识别物理介质。
Signature --磁盘识别。该属性可以被用于识别一个共享资源。
Size --磁盘大小
Status --对象的当前状态。
StatusInfo --逻辑设备的状态
SystemCreationClassName --该作用域计算机的CreationClassName属性的值。
SystemName --系统名称
TotalCylinders --物理磁盘驱动器上柱面总数。该值可能不准确
TotalHeads --磁盘驱动器上磁头总数。该值可能不准确。
TotalSectors --物理磁盘驱动器上的扇区总数。该值可能不准确。
TotalTracks --物理磁盘驱动器上的曲目总数。该值可能不准确。
TracksPerCylinder --在物理磁盘驱动器上的每个柱面轨迹的数量。该值可能不准确。

DELPHI利WMI获得硬盘参数相关推荐

  1. DELPHI利用WMI获取CPU参数

    DELPHI利用WMI获取CPU参数,实现的方法与之前所写文章网卡参数获取一致,这里不再重复,下面将CPU的参数表附上 procedure TFrmMain.RzGroup1Items2Click(S ...

  2. 如何创建虚拟硬盘 + os 读取硬盘参数代码

    [0]README 0.1) 本文旨在演示如何利用 bximage 创建虚拟硬盘: 0.2) 利用 os 读取硬盘参数, source code from orange's implemention ...

  3. 教你如何在Sco Unix5.05安装大硬盘(启动输入硬盘参数方法)

    原文: (2002-05-27 20:55:44) - 浪迹天涯 记下硬盘参数,例如,一个13GB IDE硬盘的参数为:  25249 cylinders  16 heads  63 sectors- ...

  4. 硬盘参数调整命令hdparm

    Linux命令:hdparm 功能说明:显示与设定硬盘的参数. 语 法:hdparm [-CfghiIqtTvyYZ][-a <快取分区>][-A <0或1>][-c ][-d ...

  5. 鲁大师便捷查看硬盘参数

    1.下载安装并打开鲁大师 2.打开鲁大师,点击硬盘参数 3.查看硬盘参数,即可看到你硬盘全部参数

  6. Windows 性能监视器的基本指标说明(CPU,内存,硬盘参数)

    作为一个系统工程师来说,要看懂监控的数据至关重要,关系着优化和分析出现的问题.我是在运维过程中要用到的.因此,今天给出Windows 性能监视器的一些基本指标(CPU,内存,硬盘参数),希望对大家将来 ...

  7. 这些硬盘参数你都懂得吗?(下篇)

    在之前的<存储极客:这些硬盘参数你都懂吗?(上)-从案例引发的讨论>一文中,我们从用户实际需求出发,围绕下面2个表格对不同硬盘的性能和可靠性差距展开了部分讨论.其中包括但不限于这几个要点: ...

  8. linux7硬盘自动挂载,Centos7自动挂载硬盘参数详解

    UUID=5b69ece8-4e15-4658-9857-8a60efbbb0fe / ext4 defaults 1 1 第一列:分区名(设备ID) 如果磁盘是SCSI/STAT接口,且有多个磁盘, ...

  9. delphi中WMI的使用(一)

    WMI(Windows Management Instrumentation,Windows 管理规范)是一项核心的 Windows 管理技术:用户可以使用 WMI 管理本地和远程计算机. 通过使用W ...

  10. 通过WMI获得硬盘和CPU的物理序列号(VB.net)

    作者:iwebsms   '获得硬盘序列号 Dim cmicWmi As New System.Management.ManagementObjectSearcher("SELECT * F ...

最新文章

  1. 利用Python基础代码语句,实现2G时代文字小游戏,世界如此简单
  2. Difference Between HashMap and IdentityHashMap--转
  3. AFN post的数据编码格式问题
  4. JAVA国际化输出日期格式
  5. CA证书和TLS介绍
  6. U-Mail邮件系统客户无需担心OpenSSL心脏出血漏洞
  7. NHibernate学习笔记(转载):many-to-one/one-to-many/many-to-many关系映射
  8. Ansys节点数据批量一键导出脚本生成CSV (ansys数据导出利用matlab脚本)
  9. Linux实战 | 搭建Linux(CentOS6.8版)_1
  10. C++ 二叉搜索树的实现
  11. EMNLP2021 论文预讲会,邀你一起共赏自然语言处理学术盛宴(日程全公开)
  12. 在Ubuntu 16.04 使用命令行安装Nvidia CUDA-9.0以及cudnn7
  13. 设计模式实现一个简单的缓存
  14. 中小企业如何选择合适的存储解决方案?
  15. android 三星调用拍照功能吗,玩转Galaxy S3拍照功能全解析
  16. 亚马逊平台的优势有哪些?
  17. 在苹果CMS中为电脑和移动端设置不同的播放器接口
  18. DragonBoard 410c开发套件试用上手报告-搭建一个家庭智能管家的大脑
  19. 嵌入式开发(三):海思Hi3559a交叉编译live555
  20. Craig S. Wright问答系列(1)

热门文章

  1. 【正点原子STM32连载】第七章 认识HAL库 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
  2. 软件开发中的非功能需求类型
  3. Android 自定义车牌键盘
  4. npm 下载指定版本包
  5. 支付宝、财付通、网银、百度钱包、京东钱包接口费率
  6. Coding and Paper Letter(五十九)
  7. 基于STM32的录音与播音
  8. 用亿图软件怎么画数据模型图?
  9. 60.Linux:虚拟机安装及基本操作
  10. 李宏毅机器学习hw1~4作业 强化点