首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从添加/删除程序控制面板获取图标

如何从添加/删除程序控制面板获取图标
EN

Stack Overflow用户
提问于 2010-11-18 23:21:19
回答 4查看 3.5K关注 0票数 2

我正在尝试做一个应用程序,基本上模拟视窗控制面板的添加/remove程序功能。我目前正在使用注册表,我没有使用WMI,因为它太慢了,并且只返回通过.msi文件安装的软件,下面是我当前正在读取的键:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall HKCU\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall

我有我认为所有的软件安装,但有一个图标的问题,我不知道如何提取图标,出现在控制面板上。有些键有DisplayIcon属性,但有些没有。我尝试了两种方法:

首先提取DisplayIcon密钥上应用程序的图标。

其次,尝试识别C:\Windows\Installer\FOLDER以提取某个文件的图标。但并不完美,我只获得了大约80%的图标。我知道有很多程序可以很好地做到这一点。例如"SoftwareInformer“。

我读到了它,我找到了关于ARPPRODUCTICONWiX和一个Icon Table的信息,但我不确定那个表在哪里,有什么方法可以访问它。

此外,我还搜索了一个开源应用程序,这些应用程序做不到这一点。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-23 08:55:33

我参加派对可能太晚了,但如果你查一下

代码语言:javascript
复制
HKEY_CLASSES_ROOT\Installer\Products\{GUID}

你会找到带有path的"ProductIcon“字符串值(但并不是所有产品都有)。我认为它与{sys_drive}:\Windows\Installer{GUID}文件夹中的基本相同。但即使是“程序和功能”也不会显示所有的图标。

当然,我不能上传图片,因为我没有足够的分数,doh..

票数 4
EN

Stack Overflow用户

发布于 2010-12-21 18:28:31

并非控制面板小程序中列出的所有应用程序都有“应用程序”图标-有些只是使用默认图标,例如"Microsoft Device Emulator (64位) version 3.0 - the“

票数 1
EN

Stack Overflow用户

发布于 2011-01-03 16:14:03

如果您能够获取已安装exe的路径(从注册表值获取)

使用此方法

代码语言:javascript
复制
radiobutton.Image = Icon.ExtractAssociatedIcon(_fullPath).ToBitmap();

//_fullPath是你的exe文件的路径,如果exe有一个相关的图标,它就能完美地工作。

它对我来说是100%有效的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4216392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档