控制RegEnumKey返回的键的顺序

时间:2016-09-08 10:14:47

标签: c++ windows winapi registry

我希望创建一个最后由RegEnumKey

返回的注册表子键

根据RegEnumKey API的MSDN文档

  

由于未对子键进行排序,因此任何新子键都将具有任意索引。这意味着该函数可以按任何顺序返回子键。

  1. 使用RegCreateKeyEx或任何其他API创建新的子密钥时,有没有办法控制他将获得的索引?
  2. 是否可以更改现有注册表项的索引号?

2 个答案:

答案 0 :(得分:2)

  

1.使用RegCreateKeyEx或任何其他API创建新的子键时,有没有办法控制他将获得的索引?

没有

  

2.是否可以更改现有注册表项的索引号?

没有

在文档引用中非常清楚地说明了这一点:

  

因为子键未被排序,所以任何新的子键都将具有任意索引。这意味着该函数可以以任何顺序返回子键

您无法在API层控制或影响此操作。如果需要按特定顺序处理子键,则必须将子键检索到自己的列表中,然后在处理之前根据需要对该列表进行排序。

答案 1 :(得分:1)

  

我希望创建一个最后由RegEnumKey返回的注册表子键。

这是不可能实现的。您无法控制枚举的顺序。

无论您遇到什么问题,都需要找到不同的解决方案。