如何获取硬盘的安装时间这个信息

[复制链接]
  • TA的每日心情
    奋斗
    2015-12-29 10:41
  • 签到天数: 253 天

    [LV.8]三品御史

    16

    主题

    312

    回帖

    1601

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1601
    发表于 2014-12-12 14:32:19 | 显示全部楼层 |阅读模式
    如题,代码实现
  • TA的每日心情
    奋斗
    2015-12-29 10:41
  • 签到天数: 253 天

    [LV.8]三品御史

    16

    主题

    312

    回帖

    1601

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1601
     楼主| 发表于 2014-12-13 12:25:32 | 显示全部楼层
    胜惟一 发表于 2014-12-13 10:26
    读取固件。。。。。。。。。。。。

    哦哦,多谢指点,我试试
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-12-27 14:43
  • 签到天数: 1415 天

    [LV.10]一品大学士

    43

    主题

    4413

    回帖

    2万

    积分

    Intohard Team

    Rank: 7Rank: 7Rank: 7

    积分
    20254
    QQ
    发表于 2014-12-13 14:27:08 | 显示全部楼层
    tk1223108078 发表于 2014-12-13 12:25
    哦哦,多谢指点,我试试

    [s:2][s:2][s:2][s:2][s:2][s:2][s:2][s:2][s:2][s:2][s:2][s:2][s:2]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-12-29 10:41
  • 签到天数: 253 天

    [LV.8]三品御史

    16

    主题

    312

    回帖

    1601

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1601
     楼主| 发表于 2014-12-14 11:11:09 | 显示全部楼层

    还想再问下,如何读取固件信息?第一次遇到这个问题,各个搜索都搜过了没啥有用的信息
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-12-27 14:43
  • 签到天数: 1415 天

    [LV.10]一品大学士

    43

    主题

    4413

    回帖

    2万

    积分

    Intohard Team

    Rank: 7Rank: 7Rank: 7

    积分
    20254
    QQ
    发表于 2014-12-15 09:06:14 | 显示全部楼层
    tk1223108078 发表于 2014-12-14 11:11
    还想再问下,如何读取固件信息?第一次遇到这个问题,各个搜索都搜过了没啥有用的信息

    买工具,
    论坛里这么多广告 没看到???
    mrt
    udma
    dfl
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-12-29 10:41
  • 签到天数: 253 天

    [LV.8]三品御史

    16

    主题

    312

    回帖

    1601

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1601
     楼主| 发表于 2014-12-15 11:11:03 | 显示全部楼层
    胜惟一 发表于 2014-12-15 09:06
    买工具,
    论坛里这么多广告 没看到???
    mrt

    .............买工具是不可能的,要的就是自己获取,买个工具算咋回事
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-12-29 10:41
  • 签到天数: 253 天

    [LV.8]三品御史

    16

    主题

    312

    回帖

    1601

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1601
     楼主| 发表于 2014-12-17 14:11:19 | 显示全部楼层
    本人查找了半天也没有找到系统是如何获取磁盘插入时间的,但是找到了折中方案。希望能够有人帮忙找到更好的方法。
    首先我信息的获取全部来自注册表,系统中的显示出来的磁盘驱动器,如图1所示 磁盘驱动器.png 图1。
    在系统中是存储在注册表HKLM中的SYSTEM中,如图2所示
    列举装载的Disk.png 图2。
    图2中只有一个磁盘,键为0的就代表该磁盘,键值表示的是磁盘具体信息存储的注册表位置。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-12-29 10:41
  • 签到天数: 253 天

    [LV.8]三品御史

    16

    主题

    312

    回帖

    1601

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1601
     楼主| 发表于 2014-12-17 14:18:18 | 显示全部楼层
    下面我们根据图2所得的值,转到相应的注册表位置,如图3所示
    Disk注册表信息.png
    图3
    我们可以看到右边有很多的属性,我们可以从中得到很多属性,例如我想要的友好名、安装位置等,但是我们想要知道的首次安装时间并没有,我们还需要再次根据这些信息进行跳转获取。
    我们可以看到右边有一个Driver属性,该属性的值也是一个注册表的路径,我们跳转到该路径下如图4所示
    Class注册表.png
    图4
    其实这是驱动类的信息存储的位置,可以发现里面也没有我们需要的安装时间,但是我们可以根据该注册表的键值的最后写入时间来得到首次安装时间。可惜的是,如果有人手的修改了键值就会影响我们读取时间,并且获取的安装时间和系统提供的安装时间也差了几秒。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-12-29 10:41
  • 签到天数: 253 天

    [LV.8]三品御史

    16

    主题

    312

    回帖

    1601

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1601
     楼主| 发表于 2014-12-17 14:28:07 | 显示全部楼层
    本人写了一个小程序,用来获取需要的信息,最后要注意的是,我们使用RegQueryInfo获取的注册表键值最后写入时间是UTC时间,我们需要转换为本地时间,本人在程序中并没有转换。MFC做的窗口,Win7 64位+VS2008通过。
    源码: DiskMessageAPITest.rar (129.03 KB, 下载次数: 3)
    程序: demo.rar (1.34 MB, 下载次数: 7)
    运行结果对比
    结果.png
    jieguo2.png
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表