我想最后一次获取注册表项中的名称/值。有可能吗?
我还想获取创建键的日期(未修改)。
我了解RegQueryInfoKey()
函数,但看起来它仅在键级别有效,并且仅给出修改日期,而不给出创建日期。
我看了看API,找不到其他可以满足我要求的东西。
答案 0 :(得分:6)
在两种情况下答案均否。我们无法查询值的最后修改时间,也无法查询键的创建时间。数据不存在。键对象(即CM_KEY_BODY
)引用键控制块(即CM_KEY_CONTROL_BLOCK
或KCB)。 KCB具有指向配置单元(即HHIVE
)的指针和配置单元中包含关键节点(即CM_KEY_NODE
)的单元格的索引,该节点具有LastWriteTime
时间戳,但是没有与文件对象相关的其他时间戳(即CreationTime
,LastAccessTime
和ChangeTime
)。 (KCB将该时间戳记为KcbLastWriteTime
进行缓存,但仍与关键节点保持同步。)值也存储在配置单元中,在这种情况下,它包含值节点(即CM_KEY_VALUE
),其中具有名称,类型,数据和标志,但没有时间戳。