dotnet 通过 WMI 获取系统安装软件
本文告诉大家如何通过 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
更多 WMI 博客请看
我搭建了自己的博客 https://blog.lindexi.com/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新
如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
dotnet 通过 WMI 获取系统安装软件的更多相关文章
- PowerShell 通过 WMI 获取系统安装软件
本文告诉大家如何通过 WMI 获取系统安装的软件 通过 Win32_Product 可以获取系统安装的软件 Get-WmiObject Win32_Product | Format-List Capt ...
- dotnet 通过 WMI 获取系统安装的驱动
本文告诉大家如何通过 WMI 获取用户已经安装的驱动程序 通过 Win32_SystemDriver 可以获取用户已经安装的驱动程序 var mc = "Win32_SystemDriver ...
- PowerShell 通过 WMI 获取系统安装的驱动
本文告诉大家如何通过 WMI 获取用户已经安装的驱动程序 通过下面代码可以获取用户已经安装的驱动程序 Get-WmiObject Win32_SystemDriver | Format-List Ca ...
- dotnet 通过 WMI 获取系统信息
本文告诉大家如何通过 WMI 获取系统信息 通过 Win32_OperatingSystem 可以获取系统信息 var mc = "Win32_OperatingSystem"; ...
- dotnet 通过 WMI 获取系统启动的服务
本文告诉大家如何通过 WMI 获取系统启动的服务 通过 Win32_Service 可以获取系统启动的服务 获取的时候只需要拿Caption和State就可以 var mc = "Win32 ...
- dotnet 通过 WMI 获取系统补丁
本文告诉大家如何通过 WMI 获取补丁 通过 Win32_QuickFixEngineering 可以获取系统启动的服务 下面代码只是获取补丁的 kb 字符 const string query = ...
- dotnet 通过 WMI 获取设备厂商
本文告诉大家如何通过 WMI 获取设备厂商 通过 Win32_ComputerSystem 可以获取电脑系统信息 通过下面代码可以获取 机器型号 和 制造厂商 var mc = "Win32 ...
- dotnet 通过 WMI 获取指定进程的输入命令行
本文告诉大家如何使用 WMI 通过 Process 获取这个进程传入的命令行 使用下面代码,使用 Win32_Process 拿到所有的进程,通过 WHERE 判断当前的进程,然后拿到进程传入的命令 ...
- Java获取系统安装软件列表
/** * @author <a href="mailto:foohsinglong@gmail.com">kevin.long</a> * @descri ...
随机推荐
- 公司电脑安装mysql出现小问题
按步骤将mysql安装好后,在自己电脑完全没问题,但是在公司电脑安装的时候出现了这样的问题. 查阅资料以后,找到了问题: 参考链接:https://blog.csdn.net/huacode/arti ...
- 关于JSP的淘汰问题(转)
来源:http://1t.click/peD 大中型公司需要专业人才,小公司需要全才,但是对于个人职业发展来说,我建议是分开.你要是这辈子就吃java这碗饭,就不要去研究什么css,js等等. 把你的 ...
- 洛谷 P1505 [国家集训队]旅游 树链剖分
目录 题面 题目链接 题目描述 输入输出格式 输入格式 输出格式 输入输出样例 输入样例: 输出样例: 说明 思路 AC代码 总结 题面 题目链接 P1505 [国家集训队]旅游 题目描述 Ray 乐 ...
- hdu2044 dp
/* 每一种情况都可以由周围2个点得出 */ #include<stdio.h> int main() { __int64 dp[]; int i,t,l,r; dp[]=; dp[]=; ...
- Effective C++: 05实现
26:尽可能延后变量定义式的出现时间 1:只要你定义了一个变量而其类型带有一个构造函数或析构函数,那么当程序的控制流到达这个变量定义式时,你便得承受构造成本:当这个变量离开其作用域时,你便得承受析构成 ...
- 《js高级程序设计》6.1.1-6.1.3——数据属性、访问器属性
数据属性:该属性包含了一个数据值的位置,它包含了4个描述行为的特性:1. [[Configurable]]:表示是否能通过delete删除属性从而重新定义属性,能否修改属性的特性,能否把属性修改为访问 ...
- 设置PHP最长运行时间
通常来说,默认的PHP程序最大运行时间是30s,如果你的程序运行超过这个时间限制,那么会有类似Maximum execution time of 30 seconds exceeded的报错. 有几种 ...
- jmeter循环和计数器
- async/await运用-前端表单弹窗验证同步书写方式(React)
在前端项目中,我们经常会碰到这样的场景: 当前我们有一个表单需要填写,在完成表单填写后经过校验之后会弹出短信或者其他形式验证码,进行补充校验,然后一起提交给接口. 场景如下图: 当前为创建操作,编辑操 ...
- uniapp APP端使用指纹
使用插件指纹模板: https://ext.dcloud.net.cn/plugin?id=358 Fingerprint模块管理指纹识别 要使用指纹识别功能需要具备条件: 确认当前设备环境是否支持指 ...