资源简介
使用j-Interop实现java连接wmi获取windows系统信息的例子
可以直接导入MyEclipse运行,能够获取CPU,主板,显卡,声卡,网卡,以及CPU使用率,内存使用率等

代码片段和文件信息
import org.jinterop.dcom.common.JIException;
import org.jinterop.dcom.common.JISystem;
import org.jinterop.dcom.core.*;
import org.jinterop.dcom.impls.JIobjectFactory;
import org.jinterop.dcom.impls.automation.IJIDispatch;
import org.jinterop.dcom.impls.automation.IJIEnumVariant;
import java.net.UnknownHostException;
import java.util.logging.Level;
public class WmiService {
private JIComServer m_ComStub = null;
private IJIComobject m_Comobject = null;
private IJIDispatch m_Dispatch = null;
private String m_Address = null;
private JISession m_Session = null;
private IJIDispatch m_WbemServices = null;
private static final String WMI_CLSID = “76A6415B-CB41-11d1-8B02-00600806D9B6“;
private static final String WMI_PROGID = “Wbemscripting.SWbemLocator“;
public WmiService(String address) {
JISystem.setAutoRegisteration(true);
JISystem.getLogger().setLevel(Level.WARNING);
m_Address = address;
}
public String[] query(String strQuery) {
System.out.println(“query:“ + strQuery);
JIVariant results[] = new JIVariant[0];
try {
results = m_WbemServices.callMethodA(“ExecQuery“ new object[]{new JIString(strQuery) JIVariant.OPTIONAL_PARAM() JIVariant.OPTIONAL_PARAM() JIVariant.OPTIONAL_PARAM()});
IJIDispatch wOSd = (IJIDispatch) JIobjectFactory.narrowobject((results[0]).getobjectAsComobject());
int count = wOSd.get(“Count“).getobjectAsInt();
IJIComobject enumComobject = wOSd.get(“_NewEnum“).getobjectAsComobject();
IJIEnumVariant enumVariant = (IJIEnumVariant) JIobjectFactory.narrowobject(enumComobject.queryInterface(IJIEnumVariant.IID));
IJIDispatch wbemobject_dispatch = null;
String[] strs = new String[count];
for (int c = 0; c < count; c++) {
object[] values = enumVariant.next(1);
JIArray array = (JIArray) values[0];
object[] arrayObj = (object[]) array.getArrayInstance();
for (int j = 0; j < arrayObj.length; j++) {
wbemobject_dispatch = (IJIDispatch) JIobjectFactory.narrowobject(((JIVariant) arrayObj[j]).getobjectAsComobject());
}
String str = (wbemobject_dispatch.callMethodA(“GetobjectText_“ new object[]{1}))[0].getobjectAsString2();
System.out.println(“(“ + c + “):“);
System.out.println(str);
// System.out.println();
strs[c] = str;
}
return strs;
} catch (JIException e) {
e.printStackTrace();
}
return null;
}
public void connect(final String domain final String username final String password) {
try {
m_Session = JISession.createSession(domain username password);
m_Session.useSessionSecurity(true
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 476 2014-04-25 15:50 WmiTest1\.classpath
文件 384 2014-04-25 15:50 WmiTest1\.project
文件 629 2014-04-25 15:50 WmiTest1\.settings\org.eclipse.jdt.core.prefs
文件 5739 2014-04-25 15:50 WmiTest1\bin\WmiService.class
文件 406445 2014-04-25 15:50 WmiTest1\lib\j-interop.jar
文件 122768 2014-04-25 15:50 WmiTest1\lib\j-interopdeps.jar
文件 380196 2014-04-25 15:50 WmiTest1\lib\jcifs-1.2.19.jar
文件 5987 2014-04-25 15:50 WmiTest1\src\WmiService.java
目录 0 2014-04-25 15:49 WmiTest1\.settings
目录 0 2014-04-25 15:49 WmiTest1\bin
目录 0 2014-04-25 15:49 WmiTest1\lib
目录 0 2014-04-25 15:49 WmiTest1\src
目录 0 2014-04-25 15:49 WmiTest1
----------- --------- ---------- ----- ----
922624 13
- 上一篇:java连接mysql数据库框架
- 下一篇:蜘蛛纸牌 java实现
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论