到年底了要统计公司电脑情况,需要登记每台电脑的购买时间,主要配置,运行状态和维修记录。想写个小程序,让大家下载运行下,然后把获取到的硬件配置信息上传到数据库,我这边从数据库里读取出来生成报表。有一个问题就是不知道怎么获取硬件的出厂日期。能获取cpu,主板,硬盘,即可。请各位帮助,非常感谢!

解决方案 »

  1.   

    你的要求有点偏,对于操作系统能够来说,不会知道你的主板是什么品牌、出厂日期是多少之类的。
    因为操作系统只知道你主板上的芯片组。
    而同样的芯片组也可以用到不同品牌的主板上,所以几乎不可能单纯从软件上确认主板品牌和型号。对于出厂日期,我相信不会查得到,因为不可能每块主版或CPU或显卡出厂的时候才开始烧写芯片
    程序说明日期,更不会为了个出厂日期而对每一个要烧写的程序重新编译一遍在烧写。所以即使
    你能读到类似与日期的参数也不会是出厂日期。
    因为出厂日期是对经过质检的产品得到客户订单后才粘贴或打印上去的,不会是制造时就算出厂了。基本上,你的要求里只有得到CPU型号、硬盘型号还比较现实,其他的就不太可能实现了。
    对于获取这些信息,可以借助 Windows 2K 以上都自带的 WMI 对象实现这些硬件信息的获取,对于
    VB来说相对要简单很多。也可以通过如:SetupDiGetClassDevs、SetupDiEnumDeviceInfo、
    SetupDiGetDeviceRegistryProperty等这类API函数取得相关的硬件设备信息。
      

  2.   

    服了YOU 
    每个硬件买来的时候不都有生产日期
    程序中直接读出全部东东不太现实吧
      

  3.   

    我用下面的代码总是检测的最后一块磁盘的信息,我想检测第一块儿磁盘信息,怎么弄呢?   Dim DiskDriveSet As SWbemObjectSet
       Dim dd As SWbemObject
       Dim cpt As String
       Dim size As String
       
        Set DiskDriveSet = GetObject("winmgmts:{impersonationLevel=impersonate}"). _
                                               InstancesOf("Win32_DiskDrive")
                                               
    For Each dd In DiskDriveSet
        cpt = dd.Caption '硬盘型号
        size = FormatNumber(dd.size, 0) '硬盘容量
        
    Next
      

  4.   


    For Each dd In DiskDriveSet
        cpt = dd.Caption '硬盘型号
        size = FormatNumber(dd.size, 0) '硬盘容量
        Exit For '加一句
    Next