注册表-获取值(而不是键)上次更改的时间和键创建日期

Registry - get last time a value (not key) changed, and key creation date

本文关键字:时间 创建日期 获取 注册表      更新时间:2023-10-16

我想获取最后一次写入注册表项中的名称/值的时间。有可能吗?

我还想得到创建密钥的日期(未修改(。

我知道RegQueryInfoKey()函数,但它看起来只在关键级别工作,并且只给出修改日期,而不是创建日期。

我看了API,找不到任何其他可以做我想做的事情。

在这两种情况下,答案都是否定的。我们无法查询上次修改值的时间,也无法查询创建键的时间。数据不存在。密钥对象(即CM_KEY_BODY(引用密钥控制块(即CM_KEY_CONTROL_BLOCK或KCB(。KCB具有指向配置单元的指针(即HHIVE(和包含关键节点的配置单元中的单元的索引(即CM_KEY_NODE(,关键节点具有LastWriteTime时间戳,但没有与File对象相关联的其他时间戳(即,CreationTimeLastAccessTimeChangeTime(。(KCB将此时间戳缓存为KcbLastWriteTime,但它与关键节点保持同步。(值也存储在配置单元单元中,在这种情况下,它包含一个值节点(即CM_KEY_VALUE(,该值节点具有名称、类型、数据和标志,但没有时间戳。