使用WMI来获取系统信息
WMI,是Windows Management Instrumentation的英文缩写。它是一个用来读写系统配置信息的接口,另外它还支持脚本化语言访问。有了这个玩意,你就可以不必专注细节,将节省下来的时间用来享受生活,我看,挺好。
下面是一个例子,代码很简短,主要是用来枚举当前系统的所有CPU信息并将它们的基础信息打印出来。
要测试上面的脚本代码,很简单,将这段程序代码保存为一段js文件,例如cpus.js,然后通过命令行cscript cpus.js来执行就可以看到结果了。
实际上,WMI中保存了有关操作系统的很多信息。如果你查看MSDN文档,可以看到很多有关WMI的类,足够让你眼花缭乱。脚本组件开发团队甚至开发了他们自己的工具WMI Scriptomatic用来在庞大的WMI命名空间中导航。(另外,这个团队还写了一个名为Tweakomatic的工具,用来读写当前系统的配置)
上面的程序并不在于展示如何将结果显示在屏幕上,我想表达的是,你可以不必研究细节,而是直接使用WMI基础设施来获取系统信息。比如,如果需要获取BIOS信息,可以直接将上面的查询语句修改为:”SELECT * FROM Win32_BIOS”,如果需要其他硬件信息,则根据实际情况修改就可以了。
总结
WMI确实好,但请容许”小的”提一点意见:一旦绑上WMI的战车,你的程序将不可避免的和Windows系统深度绑定,系统那边一有什么风吹草动,依赖它的程序就会受到影响。
是否使用还是看实际情况来定,注意:独立思考。
最后
Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。
本文来自:《Let WMI do the heavy lifting of determining system information》
最近我写了个东西
正如你们所知道的,拓扑梅尔智慧办公平台(Topomel Box)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。
我想:你值得拥有。
- 下一篇: Makefile工具更新:错误匹配和编译数据库生成
- 上一篇: 外壳如何确定程序是否支持长文件名的
相关推荐
- 请特别注意COM组件的线程模型
- Posted on 12月17日
- 官宣:用于MSVC的Address Sanitizer正式发布
- Posted on 03月16日
- IContextMenu第五部分:处理菜单消息
- Posted on 11月05日
- 为什么动态链接库以”错误”的方式被卸载?
- Posted on 10月23日
评论已关闭。