前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2018-9-29-如何查看windows软件激活状态

2018-9-29-如何查看windows软件激活状态

作者头像
黄腾霄
发布2020-06-10 11:17:18
1K0
发布2020-06-10 11:17:18
举报
文章被收录于专栏:黄腾霄的博客

这篇文章我们聊一下如何查看windows软件激活状态


WMI

windows和office激活异同这边文章里我们发现了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状态,首先是构造一个Scoperoot\\CIMV2,的搜索对象,然后在SoftwareLicensingProduct这张表中查询。如下面的代码所示,其中LicenseStatus=1表示软件处于激活状态。(当然你可以选择SELECT * ,如果 不担心时间问题)

代码语言:javascript
复制
ManagementObjectSearcher searcher =
                new ManagementObjectSearcher("root\\CIMV2",
                    "SELECT ApplicationID, Description, ID, LicenseStatus, Name FROM SoftwareLicensingProduct WHERE LicenseStatus=1");
代码语言:javascript
复制
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()方法就可以执行查询,获得一个查询对象。可以通过索引的方式获得对象的各种属性值。

结果如上

是不是跃跃欲试了呢?可以看下github上的源码:xinyuehtx/LicenseStatus: 检查license

参考链接:

Windows Management Instrumentation - Microsoft Docs

ManagementObjectSearcher Class (System.Management) - Microsoft Docs


本文会经常更新,请阅读原文: https://xinyuehtx.github.io/post/%E5%A6%82%E4%BD%95%E6%9F%A5%E7%9C%8Bwindows%E8%BD%AF%E4%BB%B6%E6%BF%80%E6%B4%BB%E7%8A%B6%E6%80%81.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-09-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • WMI
  • License Status
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档