如何获取第三方安装包程序,安装成功之后的程序绝对路径

EEEEEERROR 2012-12-10 05:53:11
本人做了一个管理工具程序, 例如 :
我上传QQ的安装包 .我给它命名为 test 了.
之后我在下载test ,然后自动运行 .
这个时候 ,由于 它是第三方程序 ,它的安装过程,选择文件路径的信息 我都是获取不到的.
请问 该如何获取到 ,它安装完成之后 ,我要获取到该程序的绝对路径.
...全文
219 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
缭绕飘渺 2012-12-10
  • 打赏
  • 举报
回复
程序安装完启动的时候可以获取到路径 appdomain.currentdomain.basedirectoy 好是是这样写的 如果不是启动的话就按照名称去查询注册表吧
chenhui389 2012-12-10
  • 打赏
  • 举报
回复
也可以独立开启一个Thread ,然后使用FileSystemWatcher 类来循环监视整个磁盘,遍历所有磁盘目录 ,然后指定Filter为*.exe , 监控Created事件 ,但是这样做的开销是很大的 ,并且需处理排除临时文件之类的,或者更直接的干脆预先知道被安装的软件的默认主磁盘名称,比如QQ安装后是QQ.exe ,opear浏览器安装后是opera.exe等之类的,在安装的时候如果你的程序知道是下载安装的哪一个软件,就可以直接指定监控的具体文件创建事件了,轻易取得路径而无需作出太多的处理了. 另外一个也尝试看下WMI里面有无你想要的 ,WMI 里面保存了软件列表,这样读取出来的也不会有错了.
EEEEEERROR 2012-12-10
  • 打赏
  • 举报
回复
引用 1 楼 chenhui389 的回复:
方法很多种的 ,既然是关于QQ那我就介绍一种最简单的吧 . 通过读取注册表值就可以了 ,因为现在的QQ都是支持皮肤的 ,每次安装都会写入注册表: 那里有个TypePath可以读取到安装路径. 还有很多方法都可以的,注册表读取最简单,其它不列举了.
它不一定是QQ ,我只是举个例子 ,它是活动的.我要无聊安装什么程序包 之后都能获取它的路径
EEEEEERROR 2012-12-10
  • 打赏
  • 举报
回复
引用 1 楼 chenhui389 的回复:
方法很多种的 ,既然是关于QQ那我就介绍一种最简单的吧 . 通过读取注册表值就可以了 ,因为现在的QQ都是支持皮肤的 ,每次安装都会写入注册表: 那里有个TypePath可以读取到安装路径. 还有很多方法都可以的,注册表读取最简单,其它不列举了.
TypePath ? 是哪个类库的,我的开发环境是C#
chenhui389 2012-12-10
  • 打赏
  • 举报
回复
方法很多种的 ,既然是关于QQ那我就介绍一种最简单的吧 .
通过读取注册表值就可以了 ,因为现在的QQ都是支持皮肤的 ,每次安装都会写入注册表:



那里有个TypePath可以读取到安装路径.

还有很多方法都可以的,注册表读取最简单,其它不列举了.

110,538

社区成员

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

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

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