相信已经很少有人用光驱来安装操作系统了,把U盘或移动硬盘制作成系统安装启动盘即可进行操作系统安装。MS酋长之前已经陆续介绍了大量的Win10系统U盘安装盘制作工具,包括:微软官方的......
我们聊一下如何查看windows软件激活状态
我们发现了windows和office的激活都依赖于一个叫WMI的东西。那么什么是WMI呢?、
官方定义是Windows Management Instrumentation (WMI) is the infrastructure for management data and operations on Windows-based operating systems.简单的说就是windows系统上数据和操作的管理器。
一般来说都会微软倾向于使用脚本语言对WMI进行查询,(如slmgr.vb)。但是在桌面应用程序层面脚本语言的使用会缺少灵活性。不过好在C#在System.Management中提供了,一个叫ManagementObjectSearcher的类。可以通过特定的sql语句,对WMI中的对象进行查询。范围可以包括软件,硬件,网络等等系统信息。
License Status
查询License状态,首先是构造一个Scope是root\\CIMV2,的搜索对象,然后在SoftwareLicensingProduct这张表中查询。如下面的代码所示,其中LicenseStatus=1表示软件处于激活状态。(当然你可以选择SELECT * ,如果 不担心时间问题)
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2",
"SELECT ApplicationID, Description, ID, LicenseStatus, Name FROM SoftwareLicensingProduct WHERE LicenseStatus=1");
foreach (var queryObj in searcher.Get())
{
Console.WriteLine("-----------------------------------");
Console.WriteLine("SoftwareLicensingProduct instance");
Console.WriteLine("-----------------------------------");
Console.WriteLine("ApplicationID: {0}", queryObj["ApplicationID"]);
Console.WriteLine("Description: {0}", queryObj["Description"]);
Console.WriteLine("ID: {0}", queryObj["ID"]);
Console.WriteLine("LicenseStatus: {0}", queryObj["LicenseStatus"]);
Console.WriteLine("Name: {0}", queryObj["Name"]);
}
接着调用ManagementObjectSearcher.Get()方法就可以执行查询,获得一个查询对象。可以通过索引的方式获得对象的各种属性值。
结果如上
标签: windows软件激活状态
相关文章
- 详细阅读
-
如何为Win10家庭版开启组策略编辑器功能详细阅读
经常访问Win10专业网的朋友在看到需要编辑组策略的文章时,会发现,每一个教程都提供了两种方法:方法一是配置组策略;方法二是修改注册表。而两种方法的效果则是相同的。之所以这样,......
2022-04-19 316 组策略编辑器
-
Win10下如何使用DISM命令修复Windows映像详细阅读
DISM工具是一个部署映像服务和管理工具,已经陆续分享了一些DISM工具应用技巧。实际上使用DISM工具还可以修复损坏的Windows映像,下面我们来看一下微软官方的使用DISM工具修复Windows映像教程:......
2022-04-19 55 DISM命令 修复Windows映像
- 详细阅读
- 详细阅读