注册表下的信息和添加删除程序列表不一致

来源:百度知道 编辑:UC知道 时间:2024/06/05 03:41:42
添加删除程序列表的信息都是从注册表里HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
来获取的,可是我发现注册表该项内还有一些添加删除程序里没有的程序,我怎么判断哪些是可以在添加删除程序列表里显示的,哪些是不显示的,有什么键值控制吗?
我现在想要编程获取添加删除程序列表的信息,可是这个问题的存在,让我读取注册表后获取的信息是错误的,望达人指点!!
那些不在添加删除程序列表里显示的程序也有displayname和uninstallstring

你可以在你自己机器的注册表里面看一下,和添加删除程序不一致的地方。有些注册表里面的有,而添加删除程序列表里没有的,看下那些键值的信息,但我没发现问题的本质,怎么区分这些

要看每一个项目的DisplayName,假如有这一项,那么就按照这个名字显示,没有的话就隐藏
比如你点到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinRAR archiver
右边会看到DisplayName是WinRAR 压缩文件管理器
把DisplayName删掉就隐藏了
不过最好还是不要删,免得自己以后记不住名字,最好是改个名字,随便改成什么,比如改成HideDisplayName,只要让系统找不到DisplayName就行了

要从隐藏变成显示的话,也同样,加一个DisplayName,通常还有DisplayIcon,显示的图标

自己读取注册表也是一样,还是看有没有DisplayName,当然要是个空的字符串那也显示不了的

你说的这个“那些不在添加删除程序列表里显示的程序也有displayname和uninstallstring”还真是没听说过,是哪个程序哦。。还是所有程序?注册表里面都有哪些东西?

随便新建个什么东西,有了DisplayName和UnistallString就可以显示出来了,所以你说的我看不懂也想不通,不想说算了