﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <description><![CDATA[Comments for Java COM Automation with Jacob and JBuilder - by Yuri Marx]]></description>
    <title><![CDATA[Comments for Java COM Automation with Jacob and JBuilder - by Yuri Marx]]></title>
    <link>http://dn.codegear.com/article/33305</link>
    <!-- source: http://dn.codegear.com/article/33305/feed-->
    <dc:date>2008-08-28T18:58:39-07:00</dc:date>
    <item>
      <description><![CDATA[I am using JACOB in java scriplets running under Tomcat with MS WMI classes like WIN32_ and CIM_ for remotely connected PCs.All works fine for simple cases, but...1)       I am not able to copy a file with CIM_Datafile class from remote to local machine:&lt;%@ page import="com.jacob.com.*" %&gt;&lt;%@ page import="com.jacob.activeX.*" %&gt;&lt;% String user=”xxx”; String Password=”yyy”; String directoryName = "C:\\Temp"; String COMPNAME=”zzz”;  ActiveXComponent locator = new ActiveXComponent("WbemScripting.SWbemLocator");   Dispatch services = locator.invoke("ConnectServer",new Variant(COMPMNAME),   new Variant("root\\cimv2"),new Variant(user),new Variant(password)).toDispatch();  String query = "ASSOCIATORS OF {Win32_Directory='" + directoryName + "'} " + "WHERE AssocClass=CIM_DirectoryContainsFile ResultClass=CIM_DataFile ResultRole=PartComponent Role=GroupComponent" ;   Dispatch objectSet = Dispatch.call(services, "ExecQuery", query).toDispatch();    EnumVariant enumval = new EnumVariant(objectSet);     while (enumval.hasMoreElements()) {                 Dispatch item = enumval.Next().toDispatch();                     String name = Dispatch.get(item, "Caption").toString();                  out.println(name +"&lt;BR&gt;");                if(name.equals("c:\\temp\\test.txt")){                         String copyFile= "c:\\Temp\\new\\ test.txt ";                         Variant copy_retcode=   Dispatch.call(item,"Copy",copyFile,null);                         out.println(copy_retcode +"&lt;BR&gt;");   }%&gt;The code above works and copies test.txt on remote machine &lt;COMPNAME&gt; from c:\\Temp to c:\\Temp\\newDo you know a way of how to copy it from remote &lt;COMPNAME&gt; to local machine?2)       I am trying to get registry values on remote machine by using EnumValues method of StdRegProv in WMIFor VB it described in details in: http://safari.oreilly.com/9780735622975/ch17lev1sec4#X2ludGVybmFsX1NlY3Rpb25Db250ZW50P3htbGlkPTk3ODA3MzU2MjI5NzUvY2gxN2xldjFzZWM4Converting into Java/Jacob I have:int             HKLM = "0x80000002";String strKeyPath = "SOFTWARE\\ODBC" ;   ActiveXComponent locator = new ActiveXComponent("WbemScripting.SWbemLocator");    Dispatch services = locator.invoke("ConnectServer",new Variant(COMPNAME), new Variant("root\\default"),new Variant(user),new Variant(password)).toDispatch();   Dispatch oReg = Dispatch.call(services, "Get", "StdRegProv").toDispatch();    Variant     ret = new Variant ();   ret= Dispatch.call(oReg, "EnumKey", HKLM, strKeyPath );     out.println( “ret=”+ret  +"&lt;BR&gt;");it returns 0 – means OK, but I do not know how to retrieve results going to the arrSubKeys parameter of VB original code:objReg.EnumKey HKLM, strKeyPath, arrSubKeysThanks in advance.]]></description>
      <title><![CDATA[Java COM Automation with Jacob and JBuilder]]></title>
      <managingEditor>
	 (George Kmitec)
</managingEditor>
      <guid isPermaLink="true">http://threads.codegear.com/threads/threads.exe/view?commentid=41280</guid>
      <dc:date>2008-07-15T19:07:53-07:00</dc:date>
      <pubDate>2008-07-15T19:07:53-07:00</pubDate>
      <source url="http://dn.codegear.com/article/33305/feed">Comments for Java COM Automation with Jacob and JBuilder - by Yuri Marx</source>
    </item>
    <generator>Atom 1.0 XSLT Transform v1 (http://atom.geekhood.net)</generator>
  </channel>
</rss>