我正在尝试在计算机上获取已安装软件的图标。
已从此注册表路径填充已安装的软件列表: HKCU \ SOFTWARE \微软\的Windows \ CurrentVersion \卸载 HKLM \ SOFTWARE \微软\的Windows \ CurrentVersion \卸载 HKLM \ SOFTWARE \ Wow6432Node \微软\的Windows \ CurrentVersion \卸载
根据DisplayName排除重复项。
现在我尝试从关键的DisplayIcon获取图标。如果它存在。 DisplayIcon中的值因软件而异。一些例子是休闲:
对于所有这些例子,我都可以使用图标。如果InstallLocation + DisplayIcon不是真正的源代码,我可以在InstallLocation中搜索DisplayIcon名称(例如:GetDataBackFor *的DisplayIcon是gdbnt.exe,所以我搜索了这个,如果找到了,我会带上他的图标)
问题在于revo或windows卸载程序等其他应用程序如何使用没有DisplayIcon密钥的应用程序图标。它们只有InstallLocation和根目录。他们在那个位置搜索ico或exe?如果它们是多个可执行文件并且此可执行文件的名称看起来不像DisplayName,该怎么办?如果在注册表中没有这样的信息,他们如何汇集主要可执行文件中的图标? 此类应用的示例包括Google地球,Apple软件更新等。
答案 0 :(得分:0)
我们可以从以下位置找到有关已安装产品图标的信息 此信息与Install -
一起存储在Installer \ product密钥的注册表中密钥名称 - HKEY_CLASSES_ROOT \ Installer \ Products {productID}
价值 - ProductIcon
从这里我们可以获得已安装应用程序的图标。 有关详细信息http://newapputil.blogspot.in/2015/06/extract-icons-of-installed-windows_17.html