java调用windows(ExecQuery )WQL测试工具wbemtest.exe

3 篇文章 0 订阅
这段代码展示了如何在Java中通过WMI接口查询Windows管理工具(WMI)来获取系统信息,如查询Win32_share资源。它涉及到ActiveXComponent的使用,Variant数据类型以及Dispatch调用来处理查询结果。
摘要由CSDN通过智能技术生成
//传入sql 以及参数
 private static void printProperty(Variant vCollection, String... properties) {
                 EnumVariant enumVariant = new EnumVariant(vCollection.toDispatch());
                 while (enumVariant.hasMoreElements()) {
                         Dispatch item = enumVariant.nextElement().toDispatch();
                         for (String property : properties) {
                                 Variant variant = Dispatch.call(item, property);
                                 System.out.println(variant);
                             }
                     }
             }
//写入需要连接的地址、命名空间
   public static Variant getWMI(String query, Object... param) {
                 String host = "localhost";
                 String connectStr = String.format("winmgmts:\\root\\cimv2", host);
                 ActiveXComponent wmi = new ActiveXComponent(connectStr);
                 Variant[] vs = new Variant[param.length + 1];
                 vs[0] = new Variant(query);
                 for (int i = 0; i < param.length; i++) {
                         vs[i + 1] = new Variant(param[i]);
                     }
                 Variant vCollection = wmi.invoke("ExecQuery", vs);
                 return vCollection;
             }
//方法测试
    public static void main(String[] args) {

                 Variant wmiNoParam = getWMI("SELECT * FROM Win32_share");
                 printProperty(wmiNoParam,"Name");

    }

代码所需jar包下载地址、使用方法、以及WQLap文档请点击下方或者复制连接到浏览器打开
https://download.csdn.net/download/weixin_41518795/87683963?spm=1001.2014.3001.5503

点击我下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值