MFC 遍历注册表指定目录下的所有键名是Version的值

蓝天上的白云 2013-06-13 04:26:36
本人学习.Net的,因工作需要,需要使用MFC做个小应用程序,其功能主要是:
把 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP 目录下面的所有已经安装的.Net版本 Version 值读出显示在一个ListBox(IDC_LIST)中。

在 ...\NDP 目录下面有几个字目录如下图所示:

|NDP
|--CDF
|--v2.0.50727
|--v3.0
|--v3.5
|--v4
|---|Full
|--v4.0

现在的问题是, 有的KeyName"Version" 在根目录里,有的在子目录里,例如上面的图,
..->NDP->v4->Full->Version (Version 值在v4的子目录Full里面)
..->NDP->v3.5->Version (Version 值在v3.5根目录里)

希望不要再网上随便找代码粘贴过来,本人已试过好多,那些抄来抄去的代码都没用,要按本人要求亲测能显示在ListBox中。最好贴上完整的代码(因本人未学过MFC)谢谢!
...全文
166 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzy694358 2013-06-17
  • 打赏
  • 举报
回复
引用 3 楼 xingqingxiang 的回复:
[quote=引用 2 楼 hzy694358 的回复:] 不是不同版本吗 那你就按不同版本来判断获取不就可以了??
不行的,因为这些版本随着时间的增加还会有新版本添加上去的,你这样是HardCode了,不太好。[/quote] 如果你这么说的话,那我也没招了, 或者你可以先判断 3.5下看有没有Version 有就直接获取,没有就查找子项 Full 下的Version 否则的话 你就只能找找是否有一个 不同版本在相同地方的都有Version值的
蓝天上的白云 2013-06-17
  • 打赏
  • 举报
回复
引用 2 楼 hzy694358 的回复:
不是不同版本吗 那你就按不同版本来判断获取不就可以了??
不行的,因为这些版本随着时间的增加还会有新版本添加上去的,你这样是HardCode了,不太好。
hzy694358 2013-06-17
  • 打赏
  • 举报
回复
不是不同版本吗 那你就按不同版本来判断获取不就可以了??
蓝天上的白云 2013-06-14
  • 打赏
  • 举报
回复
图例:

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧