Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >dotnet 通过 WMI 获取系统安装软件

dotnet 通过 WMI 获取系统安装软件

作者头像
林德熙
发布于 2022-08-04 11:34:47
发布于 2022-08-04 11:34:47
45600
代码可运行
举报
文章被收录于专栏:林德熙的博客林德熙的博客
运行总次数:0
代码可运行

本文告诉大家如何通过 WMI 获取系统安装的软件,这个方法不能获取全部的软件

通过 Win32_Product 可以获取系统安装的软件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
            var mc = "Win32_Product";
            var managementObject = new[]
            {
                    "Caption",
                    "Description",
                    "IdentifyingNumber",
                    "InstallDate",
                    "InstallLocation",
                    "HelpLink",
                    "HelpTelephone",
                    "InstallSource",
                    "Language",
                    "LocalPackage",
                    "Name",
                    "PackageCache",
                    "PackageCode",
                    "PackageName",
                    "ProductID",
                    "RegOwner",
                    "RegCompany",
                    "SKUNumber",
                    "Transforms",
                    "URLInfoAbout",
                    "URLUpdateInfo",
                    "Vendor",
                    "WordCount",
                    "Version",
            };
            ManagementClass managementClass = new ManagementClass(mc);
            ManagementObjectCollection managementObjectCollection = managementClass.GetInstances();
            var str = new StringBuilder();

            foreach (ManagementObject m in managementObjectCollection)
            {
                foreach (var temp in managementObject)
                {
                    try
                    {
                        str.Append(temp);
                        str.Append(" ");
                        str.Append(m[temp]?.ToString() ?? "");
                        str.Append("\n");
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(temp + " " + e);
                    }
                }

                str.Append("\n");
            }

            return str.ToString();

输出 str 的内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Caption           : 坚果云
Description       : 坚果云
IdentifyingNumber : {FEA8B01C-3F43-470A-BB28-679B1AEEC6E8}
InstallDate       : 20180305
InstallLocation   : C:\Program Files\Nutstore\
HelpLink          : http://help.jianguoyun.com
HelpTelephone     :
InstallSource     : C:\Users\linde\AppData\Roaming\NutstoreClient\install\AEEC6E8\
Language          : 2052
LocalPackage      : C:\WINDOWS\Installer\4acb3a9.msi
Name              : 坚果云
PackageCache      : C:\WINDOWS\Installer\4acb3a9.msi
PackageCode       : {3802EFD2-0953-4527-835E-E4C459062CD5}
PackageName       : Nutstore.x64.msi
ProductID         :
RegOwner          :
RegCompany        :
SKUNumber         :
Transforms        : C:\WINDOWS\Installer\{FEA8B01C-3F43-470A-BB28-679B1AEEC6E8}\Nutstore.mst
URLInfoAbout      : https://www.jianguoyun.com/
URLUpdateInfo     :
Vendor            : 上海亦存网络科技有限公司
WordCount         : 0
Version           : 4.0.8


Caption           : Apple 应用程序支持 (32)
Description       : Apple 应用程序支持 (32)
IdentifyingNumber : {5A659BE5-849B-484E-A83B-DCB78407F3A4}
InstallDate       : 20190221
InstallLocation   : C:\Program Files (x86)\Common Files\Apple\Apple Application Support
HelpLink          : http://www.apple.com/cn/support/
HelpTelephone     : (86) 800 810 2323
InstallSource     : C:\Users\linde\AppData\Local\Temp\IXP246.TMP\
Language          : 2052
LocalPackage      : C:\WINDOWS\Installer\1a1ef7b.msi
Name              : Apple 应用程序支持 (32)
PackageCache      : C:\WINDOWS\Installer\1a1ef7b.msi
PackageCode       : {F3D0B996-B6DB-4283-9565-004518A6610B}
PackageName       : AppleApplicationSupport.msi
ProductID         :
RegOwner          :
RegCompany        :
SKUNumber         :
Transforms        :
URLInfoAbout      : http://www.apple.com/cn/
URLUpdateInfo     : http://www.apple.com/cn/
Vendor            : Apple Inc.
WordCount         : 0
Version           : 7.3
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
dotnet 通过 WMI 获取系统安装软件
本文会经常更新,请阅读原文: https://lindexi.gitee.io/post/dotnet-%E9%80%9A%E8%BF%87-WMI-%E8%8E%B7%E5%8F%96%E7%B3%BB%E7%BB%9F%E5%AE%89%E8%A3%85%E8%BD%AF%E4%BB%B6.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
林德熙
2019/03/13
6370
dotnet 通过 WMI 获取系统启动的服务
Win32_Service class - Windows applications
林德熙
2022/08/07
4110
dotnet 通过 WMI 获取系统启动的服务
Win32_Service class - Windows applications
林德熙
2019/03/13
4660
PowerShell 通过 WMI 获取系统安装软件
Why Win32_Product is Bad News - Group Policy Software - SDM Software
林德熙
2019/03/13
1.1K0
PowerShell 通过 WMI 获取系统安装软件
Why Win32_Product is Bad News - Group Policy Software - SDM Software
林德熙
2022/08/04
4800
dotnet 通过 WMI 获取设备厂商
Win32_ComputerSystem class - Windows applications
林德熙
2022/08/07
3420
dotnet 通过 WMI 获取设备厂商
Win32_ComputerSystem class - Windows applications
林德熙
2019/03/13
5000
dotnet 通过 WMI 获取系统信息
Win32_OperatingSystem class - Windows applications
林德熙
2022/08/07
3960
dotnet 通过 WMI 获取系统安装的驱动
对于驱动程序只需要知道驱动程序是哪个,是否运行就可以,至于安装日期和在安装在哪很多时候不需要知道
林德熙
2022/08/07
4190
dotnet 通过 WMI 获取系统信息
Win32_OperatingSystem class - Windows applications
林德熙
2019/03/13
5370
dotnet 通过 WMI 获取系统安装的驱动
对于驱动程序只需要知道驱动程序是哪个,是否运行就可以,至于安装日期和在安装在哪很多时候不需要知道
林德熙
2019/03/13
5640
dotnet 通过 WMI 获取系统补丁
Win32_QuickFixEngineering class - Windows applications
林德熙
2022/08/07
3180
dotnet 通过 WMI 获取系统补丁
Win32_QuickFixEngineering class - Windows applications
林德熙
2019/03/13
6990
dotnet 通过 WMI 拿到显卡信息
如果使用的是 dotnet core 请先引用 Microsoft.Windows.Compatibility 才可以使用 WMI 代码
林德熙
2022/08/07
8280
dotnet 通过 WMI 拿到显卡信息
如果使用的是 dotnet core 请先引用 Microsoft.Windows.Compatibility 才可以使用 WMI 代码
林德熙
2019/03/13
7180
【算法千题案例】每日LeetCode打卡——99.山羊拉丁文
我们要将句子转换为 “Goat Latin”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。
呆呆敲代码的小Y
2021/12/27
4790
【算法千题案例】每日LeetCode打卡——99.山羊拉丁文
Foundation-String
最近写完了Swift 3.0教程 ,在接下来这段时间,继续写Foundation 的教程,帮助大家更加深入,系统的学习Foundation 框架,可能会持续一段时间,希望有兴趣的朋友加个关注!
酷走天涯
2018/09/14
9770
PowerShell 通过 WMI 获取系统服务
通过上面代码可以获取服务当前是否启动,还可以加上 StartMode 获取服务启动方法,可以选择手动启动,不自动启动和开机启动
林德熙
2019/03/13
6610
【开源】QuickPager ASP.NET2.0分页控件V2.0.0.1——分页控件的源码 (二)
namespace JYK.Controls.PageManage {     /**//// <summary>     /// 生成分页控件需要的SQL语句     /// </summary>     public class PageSQL     {         /**//// <summary>         /// 分页控件的实例         /// </summary>         public JYKPage myPage = null;               生成分页
用户1174620
2018/02/26
1.3K0
【leetcode】12:整数转罗马数字
例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。
帅地
2019/06/06
4380
相关推荐
dotnet 通过 WMI 获取系统安装软件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档