我想使用C/C++(最好是C)来枚举整个Windows注册表,我使用递归来做到这一点,但我一直运行到堆栈溢出,我明白,但即时通讯无法想象做这个没有recusion。 如何做到这一点没有递归的建议将是伟大的,thx。注册表搜索
注册表搜索
回答
只要你的递归只是每一次的子级,我不明白为什么这应该溢出堆栈。当然,Windows注册表是一场噩梦,但我不认为它的密钥层次结构深入数千层。
我怀疑你在栈上使用了一些巨大的数组,这通常是一个坏主意,但特别是递归。尝试使用malloc
来代替所需的任何大数据。
+1。我自己用递归做了这个,没有问题。 – casablanca 2010-10-06 15:39:32
面包优先搜索将是一个明显的可能性。基本的想法是使用一排地方进行搜索。首先将根放入队列,然后重复以下步骤,直到队列为空:
- 从队列中获取项目。
- 枚举其内容。
- 将其包含的任何链接添加到队列中。
...其中“三通”将是“子目录”为文件系统,“子项”为注册表等
这听起来像它会工作,你有任何指向我可以使用的教程或示例代码的链接?因为我不知道你在说什么:) – Josh 2010-10-06 16:06:40
反正我不能想到任何权利。抱歉。 – 2010-10-06 16:51:08
- 1. C++搜索Windows注册表
- 2. 使用Java搜索注册表
- 3. 批处理文件搜索注册表
- 4. 在Wix中使用注册表搜索时没有读取注册表
- 5. Vim的 - 猛拉到搜索注册
- 6. 部署安装(.Net) - 搜索目标机器 - >注册表搜索(64位)
- 7. 从x64程序中搜索x32注册表项
- 8. Wix util:注册表搜索无法识别
- 9. 试图通过搜索注册表找到excel的路径
- 10. 搜索注册表值然后更改它
- 11. 注册表 - 搜索子值以更改父项值
- 12. %wix注册表搜索中没有扩展programfiles%
- 13. 注册表搜索和替换批处理文件
- 14. Log Parser 2.2注册表通配符搜索
- 15. 事件日志中的Powershell搜索注册表内容
- 16. wix安装程序3.7引导程序注册表搜索
- 17. 在注册表中搜索vb.net中的字符串?
- 18. 是否有WIN32注册表搜索功能?
- 19. 如何从注册表中检索值?
- 20. 检索已注册路由列表
- 21. wso2 Gov注册表索引循环
- 22. 从注册表
- 23. 注册表System.UnauthorizedAccessException
- 24. HOWTO注册表
- 25. 在注册表
- 26. Windows注册表
- 27. 注册表格
- 28. 注册表SetAccessControl
- 29. Django注册修改注册表
- 30. 正在搜索已注册的设备...(Cloud Endpoints Starter Template)
你究竟试过了什么[你的代码在哪里]? – jacknad 2010-10-06 15:18:45