Windows Management Instrumentation (WMI) 的使用---一些系统接口的替代者

参考:

1,https://learn.microsoft.com/zh-cn/windows/win32/wmisdk/about-wmi

2,wmi编程示例

3,wmi对象类别

wmi介绍及原理请参考上面链接内容。之前在一些样本里面看到了类似于sql的字符串,一直不太清楚那些是做什么的。哪些语句是wql(大概就是windows系统自己的查询语句),通过执行这些特定的查询语句,可以获取或修改许多系统相关的信息。比如说查询系统中当前运行的进程,系统中服务信息等;之前这些操作一般通过系统底层的api(CreateService,OpenProcess等)来获取。在一些情况下,可以考虑替换使用wmi来实现;用来做一些运行环境检查(虚拟机,杀毒软件等)。

下面通过powershell中演示wmi的一些基本操作:

命令:Get-WmiObject Win32_Process ;获取当前运行的进程数据,部分如下图:

命令:Get-WmiObject Win32_Service; 来获取系统服务列表,详细信息包括服务名称等,部分如下图:

通过上面的截图可以看到,查询一个类(class)的信息,会有多个字段返回,就像sql里面的表(table)。

通过c++调wmi相关接口获取系统服务相关信息,部分如下图:

通过wmi禁用/启用网卡,部分如下图(详细见参考2):

相关推荐
Java Fans1 小时前
如何在Windows本机安装Python并确保与Python.NET兼容
开发语言·windows·python
Abigail_chow11 小时前
EXCEL如何快速批量给两字姓名中间加空格
windows·microsoft·excel·学习方法·政务
love530love13 小时前
【笔记】在 MSYS2(MINGW64)中正确安装 Rust
运维·开发语言·人工智能·windows·笔记·python·rust
代码搬运媛14 小时前
“packageManager“: “[email protected]“ 配置如何正确启动项目?
windows·webpack
小道士写程序15 小时前
Qt 5.12 上读取 .xlsx 文件(Windows 平台)
开发语言·windows·qt
异常君20 小时前
Windows 与 Linux 虚拟内存机制对比:设计理念与实现差异
java·linux·windows
搏博1 天前
将图形可视化工具的 Python 脚本打包为 Windows 应用程序
开发语言·windows·python·matplotlib·数据可视化
电手1 天前
Win10停更,Win11不好用?现在Mac电脑比Win11电脑更便宜
windows·macos·电脑·mac
拾回程序猿的圈圈∞1 天前
PyCharm项目和文件运行时使用conda环境的教程
windows·pycharm·conda
波点兔1 天前
【亲测有效 | Cursor Pro每月500次快速请求扩5倍】(Windows版)Cursor中集成interactive-feedback-mcp
windows·mcp·cursor pro