博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA 通过 JACOB 调用 WMI
阅读量:7090 次
发布时间:2019-06-28

本文共 1633 字,大约阅读时间需要 5 分钟。

1 import com.jacob.activeX.ActiveXComponent; 2 import com.jacob.com.Dispatch; 3 import com.jacob.com.EnumVariant; 4 import com.jacob.com.Variant; 5  6 public class TestWMI { 7  8     public static void main(String[] args) { 9 10         Variant wmiNoParam = getWMI("SELECT * FROM Win32_Service WHERE started = 1");11         printProperty(wmiNoParam,"Name","ProcessId");12         Variant wmiWithParam = getWMI("SELECT * FROM Win32_SerialPort","WQL", 0x10|0x20);13         printProperty(wmiWithParam,"DeviceID");14     }15 16     private static void printProperty(Variant vCollection, String... properties) {17         EnumVariant enumVariant = new EnumVariant(vCollection.toDispatch());18 19         while (enumVariant.hasMoreElements()) {20             Dispatch item = enumVariant.nextElement().toDispatch();21             for (String property : properties) {22                 Variant variant = Dispatch.call(item, property);23                 System.out.println(variant);24             }25         }26     }27 28     public static Variant getWMI(String query, Object... param) {29         String host = "localhost";30         String connectStr = String.format("winmgmts:\\\\%s\\root\\CIMV2", host);31         ActiveXComponent wmi = new ActiveXComponent(connectStr);32         Variant[] vs = new Variant[param.length + 1];33         vs[0] = new Variant(query);34         for (int i = 0; i < param.length; i++) {35             vs[i + 1] = new Variant(param[i]);36         }37         Variant vCollection = wmi.invoke("ExecQuery", vs);38         return vCollection;39     }40 41 }

 

转载于:https://www.cnblogs.com/sea-leaf/p/3185642.html

你可能感兴趣的文章
django模板详解(二)
查看>>
jQuery实现还能输入N字符
查看>>
HTTPS部署笔记
查看>>
ZeroMQ(java)之Router/Dealer模式
查看>>
TCP/IP协议碎碎念
查看>>
Rss订阅
查看>>
Mac - gdb配置
查看>>
ART世界探险(16) - 快速编译器下的方法编译
查看>>
ubuntu安装经典的Gnome桌面
查看>>
Nginx unknown directive "xxxx" 错误解决办法
查看>>
Windows下查看文件MD5值
查看>>
CentOS 6.3下Samba服务器的安装与配置
查看>>
JAVA网络编程:一站式学习Wireshark系列教程
查看>>
Spring 异步消息
查看>>
杭电2017
查看>>
ElasticSearch5.* 删除index/type 数据restful API调用
查看>>
建立共享存储实验记录
查看>>
笨方法学python VII
查看>>
myeclipse控制台不显示tomcat信息
查看>>
cent os 下载地址
查看>>