如题:请问Delphi编程来读取RAID0、RAID1、RAID5等里的每一个硬盘的序列号?
我可以读取一般硬盘的序列号,也能读取到raid后的raid序列号,但是无法读取内部每一个硬盘的序列号。请问有什么办法读取么?PS:Everest可以读取,在ATA设备信息里看到。delphi RAID硬盘序列号

解决方案 »

  1.   

    http://www.cppfans.com/articles/system/bcb_wmi.asp
    没条件测试,自己试试
      

  2.   

    不行,只能获取Raid卡的序列号。
    找了个VBSrcipt的示例程序,应该是一个概念。strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
            & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")'在脚本运行路径下创建文件SerialNumber.txt
    Set objFS = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFS.CreateTextFile("SerialNumber.txt")
    objFile.WriteLine "Date: " & Now()
    objFile.WriteBlankLines 1'获取硬盘序列号并写入文件
    Set colDiskDrives = objWMIService.ExecQuery("Select * from Win32_DiskDrive where InterfaceType <> 'USB'")
    For each objDiskDrive in colDiskDrives
        objFile.WriteLine "Caption: " & objDiskDrive.Caption
        objFile.WriteLine "Signature: " & objDiskDrive.Signature
        
        Set colPhyDrives = objWMIService.ExecQuery("Select * from Win32_PhysicalMedia")
        For each objPhyDrive in colPhyDrives
            if objPhyDrive.Tag = objDiskDrive.DeviceID then objFile.WriteLine "SerialNumber: " & objPhyDrive.SerialNumber
        Next
        
        objFile.WriteBlankLines 1
    NextobjFile.Close
      

  3.   

    现在还有一个工具:AIDA64也能读取到RAID中每一个硬盘的序列号。求方法。
      

  4.   

    只能自己顶一下了。这个难道一点技术资料也没有么?为啥everest可以读取呢?
      

  5.   

    经鉴定,z77主板自带raid无法被AIDA64及everest读取!
      

  6.   

    HD Tune Pro以及HD Tach等也无法读取。