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


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

            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 的内容

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

Win32_Product class (Windows)

更多 WMI 博客请看

我搭建了自己的博客 https://blog.lindexi.com/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新

如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

dotnet 通过 WMI 获取系统安装软件的更多相关文章

  1. PowerShell 通过 WMI 获取系统安装软件

    本文告诉大家如何通过 WMI 获取系统安装的软件 通过 Win32_Product 可以获取系统安装的软件 Get-WmiObject Win32_Product | Format-List Capt ...

  2. dotnet 通过 WMI 获取系统安装的驱动

    本文告诉大家如何通过 WMI 获取用户已经安装的驱动程序 通过 Win32_SystemDriver 可以获取用户已经安装的驱动程序 var mc = "Win32_SystemDriver ...

  3. PowerShell 通过 WMI 获取系统安装的驱动

    本文告诉大家如何通过 WMI 获取用户已经安装的驱动程序 通过下面代码可以获取用户已经安装的驱动程序 Get-WmiObject Win32_SystemDriver | Format-List Ca ...

  4. dotnet 通过 WMI 获取系统信息

    本文告诉大家如何通过 WMI 获取系统信息 通过 Win32_OperatingSystem 可以获取系统信息 var mc = "Win32_OperatingSystem"; ...

  5. dotnet 通过 WMI 获取系统启动的服务

    本文告诉大家如何通过 WMI 获取系统启动的服务 通过 Win32_Service 可以获取系统启动的服务 获取的时候只需要拿Caption和State就可以 var mc = "Win32 ...

  6. dotnet 通过 WMI 获取系统补丁

    本文告诉大家如何通过 WMI 获取补丁 通过 Win32_QuickFixEngineering 可以获取系统启动的服务 下面代码只是获取补丁的 kb 字符 const string query = ...

  7. dotnet 通过 WMI 获取设备厂商

    本文告诉大家如何通过 WMI 获取设备厂商 通过 Win32_ComputerSystem 可以获取电脑系统信息 通过下面代码可以获取 机器型号 和 制造厂商 var mc = "Win32 ...

  8. dotnet 通过 WMI 获取指定进程的输入命令行

    本文告诉大家如何使用 WMI 通过 Process 获取这个进程传入的命令行 使用下面代码,使用 Win32_Process 拿到所有的进程,通过 WHERE 判断当前的进程,然后拿到进程传入的命令 ...

  9. Java获取系统安装软件列表

    /** * @author <a href="mailto:foohsinglong@gmail.com">kevin.long</a> * @descri ...

随机推荐

  1. JQuery-- 实例:小米左右切图,淡入淡出,自动,小圆点触发轮播图

    示意图: demo <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  2. 超实用的Java数组技巧攻略分享!

    本文分享了关于Java数组最顶级的11大方法,帮助你解决工作流程问题,无论是运用在团队环境或是在私人项目中,你都可以直接拿来用! 声明一个数组(Declare an array) String[] a ...

  3. 寻找 K8s 1.14 Release 里的“蚌中之珠”

    摘要: K8s 1.14 发布了,Release Note那么长,我们该从何读起? 本文由张磊.心贵.临石.徙远.衷源.浔鸣等同学联合撰写. Kubernetes 1.14.0 Release 已经于 ...

  4. UVA_445:Marvelous Mazes

    Language:C++ 4.8.2 #include<stdio.h> #include<string.h> #include<ctype.h> int main ...

  5. 《C程序设计语言》笔记(二)

    四:函数与程序结构 1:函数之间的通信可以通过参数.函数返回值以及外部变量进行. 2:如果函数定义中省略了返回值类型,则默认为int类型.如果没有函数原型,则函数将在第一次出现的表达式中被隐式声明,比 ...

  6. js中的超过16位数字相加问题

    方案一 function sub(str1, str2) { // 补全0,并多补一位0 let arr1 = null, arr2 = null if (str1.length > str2. ...

  7. Maven中央存储库 和 如何从Maven远程存储库下载?

    当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载.首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默 ...

  8. hdu 2412 Party at Hali-Bula【树形dp】

    HDU 2412 和poj 2342(hdu 1520)差不多,多了一个判断最优解是(Yes)否(No)唯一.关键问题也在这个判断最优解是否唯一上. 先定义dp[u][2],表示选(dp[][1])或 ...

  9. HZOJ 辣鸡(ljh)

    题解?noipT1还需要题解?正解就是$n^2$大暴力. 考试的时候打了$n^2$的暴力,也想到了正解的优化,然而觉得它太麻烦了,而且$n^2$怎么优化也过不了50000啊,而且即使不优化前面30分我 ...

  10. shell Usage

    Usage(){ cat <<EOF Usage: $ [tenant] $ (Run database table check_table_data_config all tenants ...