title author date CreateTime categories
dotnet 通过 WMI 获取系统安装软件
lindexi
2019-04-29 12:18:59 +0800
2019-02-21 20:51:33 +0800
dotnet C# WMI

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

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

  1. var mc = "Win32_Product";
  2. var managementObject = new[]
  3. {
  4. "Caption",
  5. "Description",
  6. "IdentifyingNumber",
  7. "InstallDate",
  8. "InstallLocation",
  9. "HelpLink",
  10. "HelpTelephone",
  11. "InstallSource",
  12. "Language",
  13. "LocalPackage",
  14. "Name",
  15. "PackageCache",
  16. "PackageCode",
  17. "PackageName",
  18. "ProductID",
  19. "RegOwner",
  20. "RegCompany",
  21. "SKUNumber",
  22. "Transforms",
  23. "URLInfoAbout",
  24. "URLUpdateInfo",
  25. "Vendor",
  26. "WordCount",
  27. "Version",
  28. };
  29. ManagementClass managementClass = new ManagementClass(mc);
  30. ManagementObjectCollection managementObjectCollection = managementClass.GetInstances();
  31. var str = new StringBuilder();
  32.  
  33. foreach (ManagementObject m in managementObjectCollection)
  34. {
  35. foreach (var temp in managementObject)
  36. {
  37. try
  38. {
  39. str.Append(temp);
  40. str.Append(" ");
  41. str.Append(m[temp]?.ToString() ?? "");
  42. str.Append("\n");
  43. }
  44. catch (Exception e)
  45. {
  46. Console.WriteLine(temp + " " + e);
  47. }
  48. }
  49.  
  50. str.Append("\n");
  51. }
  52.  
  53. return str.ToString();

输出 str 的内容

  1. Caption : 坚果云
  2. Description : 坚果云
  3. IdentifyingNumber : {FEA8B01C-3F43-470A-BB28-679B1AEEC6E8}
  4. InstallDate : 20180305
  5. InstallLocation : C:\Program Files\Nutstore\
  6. HelpLink : http://help.jianguoyun.com
  7. HelpTelephone :
  8. InstallSource : C:\Users\linde\AppData\Roaming\NutstoreClient\install\AEEC6E8\
  9. Language : 2052
  10. LocalPackage : C:\WINDOWS\Installer\4acb3a9.msi
  11. Name : 坚果云
  12. PackageCache : C:\WINDOWS\Installer\4acb3a9.msi
  13. PackageCode : {3802EFD2-0953-4527-835E-E4C459062CD5}
  14. PackageName : Nutstore.x64.msi
  15. ProductID :
  16. RegOwner :
  17. RegCompany :
  18. SKUNumber :
  19. Transforms : C:\WINDOWS\Installer\{FEA8B01C-3F43-470A-BB28-679B1AEEC6E8}\Nutstore.mst
  20. URLInfoAbout : https://www.jianguoyun.com/
  21. URLUpdateInfo :
  22. Vendor : 上海亦存网络科技有限公司
  23. WordCount : 0
  24. Version : 4.0.8
  25.  
  26. Caption : Apple 应用程序支持 (32 位)
  27. Description : Apple 应用程序支持 (32 位)
  28. IdentifyingNumber : {5A659BE5-849B-484E-A83B-DCB78407F3A4}
  29. InstallDate : 20190221
  30. InstallLocation : C:\Program Files (x86)\Common Files\Apple\Apple Application Support
  31. HelpLink : http://www.apple.com/cn/support/
  32. HelpTelephone : (86) 800 810 2323
  33. InstallSource : C:\Users\linde\AppData\Local\Temp\IXP246.TMP\
  34. Language : 2052
  35. LocalPackage : C:\WINDOWS\Installer\1a1ef7b.msi
  36. Name : Apple 应用程序支持 (32 位)
  37. PackageCache : C:\WINDOWS\Installer\1a1ef7b.msi
  38. PackageCode : {F3D0B996-B6DB-4283-9565-004518A6610B}
  39. PackageName : AppleApplicationSupport.msi
  40. ProductID :
  41. RegOwner :
  42. RegCompany :
  43. SKUNumber :
  44. Transforms :
  45. URLInfoAbout : http://www.apple.com/cn/
  46. URLUpdateInfo : http://www.apple.com/cn/
  47. Vendor : Apple Inc.
  48. WordCount : 0
  49. Version : 7.3

Win32_Product class (Windows)

更多 WMI 博客请看

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

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

    本文告诉大家如何通过 WMI 获取系统安装的软件,这个方法不能获取全部的软件 通过 Win32_Product 可以获取系统安装的软件 var mc = "Win32_Product&quo ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. stringstream的使用 UVA 10815

    水题题目描述就不写了 主要是发现stringstream真的是好用,可以把string绑定到stringstream中,然后就能以空格为分隔符分割出每个单词,听说每次重新创建stringstream开 ...

  2. java 7,8 排序异常

    排序报 java.lang.IllegalArgumentException: Comparison method violates its general contract! 要明确返回-1, 0, ...

  3. 严格模式下顶层箭头函数this指向的是全局对象

    我们知道普通函数调用,this在非严格模式下指向全局对象,在严格模式下是undefined.那箭头函数呢?我们知道,箭头函数没有自己的this,它的this是最近外层非箭头函数的this,那直接在顶层 ...

  4. [jnhs]netbeans使用debug模式频繁出现java.lang.OutOfMemoryError: PermGen space内存不足

    netbeans赠送的tomcat7 windows解决方法: 修改C:\Program Files\Apache Software Foundation\Apache Tomcat 8.0.27\b ...

  5. netbeans 代码自动补全设置

    编辑器-----代码完成------语言选择"JAVA"------在如图红框中输入 @ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrst ...

  6. tomcat9下载与安装

    tomcat9下载与安装 官网下载地址:https://tomcat.apache.org/ 百度云地址:链接:https://pan.baidu.com/s/109PYcSh-eqTctLAXIsb ...

  7. Linux环境变量的种类

    按环境变量的生存周期来划分,Linux的环境变量可分为两类: 1永久的:需要修改配置文件,变量永久生效. 2临时的:使用export命令行声明即可,变量在关闭shell时失效.

  8. Eclipse 的 Java Web 项目环境搭建

    从svn上拉取下来Eclipse的项目 IntelliJ IDEA自动识别到可编译的 src 类目录 Java Web 项目 html(一般命名为:WebRoot) 是整个项目输出的根目录. WEB- ...

  9. golang之字符串

    字符串中的每一个元素叫做“字符”.在遍历或者单个获取字符串元素时可以获得字符.严格来说,这并不是 Go语言的一个类型,字符只是整数的特殊用例. (1)最后要注意,字符串值是不可变的.也就是说,我们一旦 ...

  10. selenium(4):初次尝试,通过百度进行搜索

    实现场景:打开chrome浏览器后,打开百度,再搜索栏里输入‘测试’,点击搜索按钮. 代码:定位方式,通过元素的ID. 定位技巧: ①鼠标定位需要定位的输入框,鼠标右键单击.选择检查. ②即可轻松的查 ...