More code examples can be found at:
http://www.planetmps.com/
import java.io.Console; import org.jawin.DispatchPtr; import org.jawin.UnknownPtr; import org.jawin.IUnknown; import org.jawin.IEnumVariant; import org.jawin.win32.*; import org.jawin.COMPtr; import java.io.IOException; try { Ole32.CoInitialize(); DispatchPtr locator = new DispatchPtr("WbemScripting.SWbemLocator"); DispatchPtr service = (DispatchPtr)locator.invoke("ConnectServer", ".", "root\\aspnet"); DispatchPtr ob = (DispatchPtr)service.invoke("Get", "ApplicationLifetimeEvent"); DispatchPtr objs = (DispatchPtr)ob.invoke("Instances_"); IUnknown oEnum = (IUnknown)objs.get("_NewEnum"); IEnumVariant objEnum = (IEnumVariant)oEnum.queryInterface(IEnumVariant.class); int c =1; Object[] tempobj = new Object[1]; while (objEnum.Next(c, tempobj) == 1) { DispatchPtr obj = (DispatchPtr)tempobj[0]; DispatchPtr propSet = (DispatchPtr)obj.get("Properties_"); IUnknown pEnum = (IUnknown)propSet.get("_NewEnum"); IEnumVariant propEnum = (IEnumVariant)pEnum.queryInterface(IEnumVariant.class); int d =1; Object[] tempProp = new Object[1]; while (propEnum.Next(d, tempProp) == 1) { DispatchPtr prop = (DispatchPtr)tempProp[0]; String Name = prop.get("Name").toString(); Object Value = prop.get("Value"); if(Value == null) { println Name + ":"; } else { if(prop.getClass().isArray() == true) { String tempstr = ""; Object[] a = new Object[1]; int l = prop.get("Value").toString().length()-1; for(int x in 0..l) { a[0] = x; tempstr = tempstr + prop.getN("Value", a).toString(); } System.out.println(Name + ":" + tempstr); } Else { if(prop.get("CIMType") == 101) { println Name + ":" + prop.get("Value").toString().substring(4,6) + "/" + prop.get("Value").toString().substring(6,8) + "/" + prop.get("Value").toString().substring(0,4) + " " + + prop.get("Value").toString().substring(8,10) + ":" + prop.get("Value").toString().substring(10,12) + ":" + prop.get("Value").toString().substring(12,14); } else { println Name + ":" + prop.get("Value").toString(); } } } } break; } Ole32.CoUninitialize(); } catch(Exception e) { e.printStackTrace(); }
No comments:
Post a Comment