C#做一个和360 软件管家差不多的软件

mingxiaohui1 2014-07-11 10:40:36
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.软件搬家有没有其他的实现方式。

解决了,加分
...全文
2387 59 打赏 收藏 转发到动态 举报
写回复
用AI写文章
59 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_25357189 2016-08-27
  • 打赏
  • 举报
回复
控件方面,建议你去找下CSkin,里面有个listbox控件会很管用
mingxiaohui1 2014-07-24
  • 打赏
  • 举报
回复
继续等待结果!!!顶,自己顶
mingxiaohui1 2014-07-21
  • 打赏
  • 举报
回复
引用 50 楼 Z65443344 的回复:
[quote=引用 42 楼 gwhzh 的回复:] 360那个东西太强大了,强大到,我用了C盘搬家之后,我不得不重装了系统。开机只需要5分钟。而我没用之前,开机15秒搞定。
难道你把整个C盘给搬走了? 搬家只适用于你不小心将用户程序装到C盘,导致系统盘不太够用的情况 如果你连系统本身都搬走,还不如一开始就将系统安装到别的盘[/quote] 装到别的盘,系统搬家也不是在还是在c盘啊。。。
mingxiaohui1 2014-07-21
  • 打赏
  • 举报
回复
引用 51 楼 qianlang10 的回复:
好牛逼的样子,撸主要不要做一个跟360安全卫士差不多的杀毒软件?
要是能做,肯定是要做 的
mingxiaohui1 2014-07-21
  • 打赏
  • 举报
回复
引用 49 楼 wenzhao911224 的回复:
这个还是用C++吧
学习学习
whatdoyousay 2014-07-21
  • 打赏
  • 举报
回复
引用 28 楼 andywangguanxi 的回复:
简单点把软件安装文件从一个目录copy到另一个目录,创建一个新的快捷方式指向新的目录。告诉老板做完了
_小黑_ 2014-07-21
  • 打赏
  • 举报
回复
楼主 的公司 高大上 啊 要 和 360 QQ 对着 干了
luluyy 2014-07-21
  • 打赏
  • 举报
回复
做个记号 晚上来看
於黾 2014-07-18
  • 打赏
  • 举报
回复
引用 42 楼 gwhzh 的回复:
360那个东西太强大了,强大到,我用了C盘搬家之后,我不得不重装了系统。开机只需要5分钟。而我没用之前,开机15秒搞定。
难道你把整个C盘给搬走了? 搬家只适用于你不小心将用户程序装到C盘,导致系统盘不太够用的情况 如果你连系统本身都搬走,还不如一开始就将系统安装到别的盘
帅得_被人砍 2014-07-18
  • 打赏
  • 举报
回复
这个还是用C++吧
mingxiaohui1 2014-07-18
  • 打赏
  • 举报
回复
引用 44 楼 wawd74520 的回复:
直接下载个360 然后用winapi 弄掉程序标题什么的 比你自己写实在多了。
想法不错,可是小弟不会c++。。。
mingxiaohui1 2014-07-18
  • 打赏
  • 举报
回复
引用 42 楼 gwhzh 的回复:
360那个东西太强大了,强大到,我用了C盘搬家之后,我不得不重装了系统。开机只需要5分钟。而我没用之前,开机15秒搞定。
是不是你把不应该搬家的搬家了 ?有些软件不建议搬家的,搬完增加其寻址的时间,就降低了其速度
静谧暖阳 2014-07-18
  • 打赏
  • 举报
回复
好牛逼的样子,撸主要不要做一个跟360安全卫士差不多的杀毒软件?
失落的神庙 2014-07-17
  • 打赏
  • 举报
回复
真要自己做还是可以的 就是界面麻烦点
失落的神庙 2014-07-17
  • 打赏
  • 举报
回复
直接下载个360 然后用winapi 弄掉程序标题什么的 比你自己写实在多了。
tank2254 2014-07-16
  • 打赏
  • 举报
回复
从注册表里面取出软件的安装信息,这个不一定能提取全啊,有的软件安装不通过注册表的
gwhzh 2014-07-16
  • 打赏
  • 举报
回复
360那个东西太强大了,强大到,我用了C盘搬家之后,我不得不重装了系统。开机只需要5分钟。而我没用之前,开机15秒搞定。
gzw13999 2014-07-13
  • 打赏
  • 举报
回复
有点复杂吧。。。
足球中国 2014-07-13
  • 打赏
  • 举报
回复
六七年前用VB写的程序写过。 程序的主要功能,启动项优划,服务项清理,垃圾清理,插件清理,窗口管理(一键隐藏窗口(那时候用这个功能挂机,上班挂机网游,挂了半年多。))。那时候还没有360,。(软件最终连版权一起卖了) 那时跟踪注册表是用的卡巴斯基。 以前为了实现打开注册表直接显示自己设置的那一项。这个简单的功能,自己用卡巴斯基跟踪了一个星期。 上次看360打开注册,直接显示某一项的功能,还是用的模拟鼠标点击,展开的方法。 楼主的这些主要的就是一些注册的操作。 比如:软件的安装位置 这个在注册表里有一个固定的地方。具体哪个地方网上搜一搜多的事。
一杯苦茶 2014-07-13
  • 打赏
  • 举报
回复
不懂啊!一窍不通
加载更多回复(38)

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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