注册表 - 上次更改值(非密钥)和密钥创建日期

Dit*_*tza 1 c++ windows registry winapi

我想最后一次写入注册表项中的名称/值.可能吗?

我还想获得密钥创建日期(未修改).

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

我查看了API,找不到任何可以做我想要的东西.

Ery*_*Sun 6

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