vista下如何获取硬盘序列号,我指的是出厂序列号

解决方案 »

  1.   

    谢谢,不一样,xp下可以的,vista下读出来的却是空字符
      

  2.   

    注意要有管理员的权限。可以考虑嵌入Manifest试试
      

  3.   

    试过的,没用啊. 取cup的序例号时不需要管理员权限啊.
      

  4.   

    是本地的,还是移动硬盘。如果本地的还是有办法,http://www.vckbase.com/document/viewdoc/?id=706 看看。
    如果移动硬盘有一个转接芯片控制,不一定能够得到。
      

  5.   

    WMI可行
    ComputerName = "."
    Set wmiServices = GetObject _
        ("winmgmts:{impersonationLevel=Impersonate}!//" & ComputerName)
    Set wmiDiskDrives = wmiServices.ExecQuery _
        ("SELECT Caption, DeviceID FROM Win32_DiskDrive")
     
    For Each wmiDiskDrive In wmiDiskDrives
        WScript.Echo wmiDiskDrive.Caption & " (" & wmiDiskDrive.DeviceID & ")"
        strEscapedDeviceID = _
            Replace(wmiDiskDrive.DeviceID, "\", "\\", 1, -1, vbTextCompare)
        Set wmiDiskPartitions = wmiServices.ExecQuery _
            ("ASSOCIATORS OF {Win32_DiskDrive.DeviceID=""" & _
                strEscapedDeviceID & """} WHERE " & _
                    "AssocClass = Win32_DiskDriveToDiskPartition")
     
        For Each wmiDiskPartition In wmiDiskPartitions
            WScript.Echo vbTab & wmiDiskPartition.DeviceID
            Set wmiLogicalDisks = wmiServices.ExecQuery _
                ("ASSOCIATORS OF {Win32_DiskPartition.DeviceID=""" & _
                    wmiDiskPartition.DeviceID & """} WHERE " & _
                        "AssocClass = Win32_LogicalDiskToPartition")
     
            For Each wmiLogicalDisk In wmiLogicalDisks
                WScript.Echo vbTab & vbTab & wmiLogicalDisk.DeviceID
            Next
        Next
    Next
      

  6.   


    这个链接只能在9x/xp/nt下起作用,vista下不行。
    本人与楼主有同样的问题,关注中,如果楼主解决了,告诉我一下,我解决了也告诉楼主。
    本人Email:[email protected]