C#做一个和360 软件管家差不多的软件
Dear ALL
我现在要做一个和360 软件管家差不多的工具,用C#:
需要实现的功能:
1: 软件搬家
2:软件卸载
思路:
1:通过注册表,查找软件信息
32位系统“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall”
64位系统“HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall”
-1:获取软件名称“DisplayName”,
-2:获取软件图标:Icon.ExtractAssociatedIcon(REG("DisplayICon")).ToBitmap();(”并不是所有的图标都正确得到,可以得到dll,exe的图标,注册表的Icon字符串需要处理“)
-3:获取软件厂商("Publisher"),软件版本("DisplayVersion"),卸载字符串("UninstallString")等信息。
2:通过卸载字符串,调用cmd命令执行卸载字符串进行软件卸载,通过"junction.exe",先将软件目录移动到一个指定位置,然后进行文件地址映射,实现软件移动的功能。
现在遇到的问题,
1.怎么得到软件的安装位置,得到的软件列表要和控制面板卸载列表一样的?要是软件比如Office,里面有多个组件怎么处理?
2.有什么方法可以得到软件图标?
3.360的软件搬家的列表界面用什么控件实现?(没找到合适的,准备用wpf。)
4.软件搬家有没有其他的实现方式。
解决了,加分