开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 25077|回复: 6
收起左侧

[C#求助] C#如何取电脑的所有软件的软件地址,软件名称?

[复制链接]
结帖率:62% (13/21)
发表于 2020-9-30 05:45:35 | 显示全部楼层 |阅读模式   福建省漳州市
5精币
C#如何取电脑的所有软件的软件地址,软件名称?

不是卸载地址,而是软件的地址

结帖率:27% (7/26)

签到天数: 2 天

发表于 2020-9-30 09:41:36 | 显示全部楼层   四川省成都市
不现实 我所了解的都是只能获取有写入zc表的软件读取 还没发现其他获取路径
回复

使用道具 举报

结帖率:62% (13/21)
 楼主| 发表于 2020-9-30 11:33:48 | 显示全部楼层   福建省漳州市
rnm精易 发表于 2020-9-30 09:41
不现实 我所了解的都是只能获取有写入zc表的软件读取 还没发现其他获取路径 ...

就是通过zc表获取所有软件的路径和名称
回复

使用道具 举报

结帖率:62% (13/21)
 楼主| 发表于 2020-9-30 19:11:59 | 显示全部楼层   福建省漳州市
没有人会吗?我只有差一个软件的地址而已了,求求你们了!
  1. string tempType = null;
  2.             object displayName = null, uninstallString = null, releaseType = null ;
  3.             RegistryKey currentKey = null;
  4.             int softNum = 0;
  5.             RegistryKey pregkey = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall");//获取指定路径下的键
  6.             try
  7.             {
  8.                 foreach (string item in pregkey.GetSubKeyNames())               //循环所有子键
  9.                 {
  10.                     currentKey = pregkey.OpenSubKey(item);
  11.                     displayName = currentKey.GetValue("DisplayName");           //获取显示名称
  12.                     uninstallString = currentKey.GetValue("UninstallString");   //获取卸载字符串路径
  13.                     releaseType = currentKey.GetValue("ReleaseType");           //发行类型,值是Security Update为安全更新,Update为更新
  14.                     bool isSecurityUpdate = false;
  15.                     if (releaseType != null)
  16.                     {
  17.                         tempType = releaseType.ToString();
  18.                         if (tempType == "Security Update" || tempType == "Update")
  19.                             isSecurityUpdate = true;
  20.                     }
  21.                     if (!isSecurityUpdate && displayName != null && uninstallString != null)
  22.                     {
  23.                         softNum++;


  24.                         listView1.Items.Add(displayName.ToString());

  25.                         listView1.Items[0].ImageIndex = 0;


  26.                         // listView1.Items.Insert(0, displayName.ToString());
  27.                     }
  28.                 }
  29.             }
  30.             catch (Exception E)
  31.             {
  32.                 MessageBox.Show(E.Message.ToString());
  33.             }

  34.             pregkey.Close();
复制代码
回复

使用道具 举报

发表于 2021-11-21 21:38:18 | 显示全部楼层   广东省广州市
我也不会啊
回复

使用道具 举报

发表于 2022-8-19 20:55:34 | 显示全部楼层   江西省南昌市
扫描zc表应该可以获得大部分软件的信息,win10以上可以扫描菜单栏,或者扫描Program Files文件夹。
回复

使用道具 举报

发表于 2022-8-19 20:56:30 | 显示全部楼层   江西省南昌市
MCboxVZ 发表于 2022-8-19 20:55
扫描zc表应该可以获得大部分软件的信息,win10以上可以扫描菜单栏,或者扫描Program Files文件夹。 ...

zc表意思是驻车表
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表