« »

Acceder a objetos OLE y ActiveX desde Java

August
18
member
sucotronic

Object Linking and Embedding (OLE) es un sistema de objeto distribuido y un protocolo desarrollado por Microsoft. Esta tecnología permite que se pueda intercambiar información entre distintas aplicaciones, ya sean comando, datos u otro tipo de elementos. Es posible que alguna vez pueda ser necesario el acceder a este tipo de objetos desde una aplicación java, y para ello existe una librería llamada jacob (Java COM Bridge) que nos permite hacerlo.

Para el que esté interesado en usarlo aquí dejo un pequeño ejemplo que abrirá una ventana de Internet Explorer, navegará hasta la página principal de mi blog y a los 10 segundos se cerrará:

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.Dispatch;
import java.util.logging.Level;
import java.util.logging.Logger;

public class OLE {

    // Declaración de la variable que almacenará el objeto OLE
    static ActiveXComponent IE;
    public static void main(String[] args){
      // Inicialización de la librería
      ComThread.InitSTA();
      // Creacón del objeto
      IE = new ActiveXComponent("InternetExplorer.Application");
      // Cambio de una propiedad del objeto
      Dispatch.put(IE, "Visible", true);

      // Invocación de un procedimiento
      Dispatch.call(IE, "Navigate", "http://blog.wikifotos.org");

      //Espera de 10 segundos
        try {
            Thread.sleep(10000);
        } catch (InterruptedException ex) {
            Logger.getLogger(OLE.class.getName()).log(Level.SEVERE, null, ex);
        }
      
      // Llamada al método que cierra la aplicación
      Dispatch.call(IE, "Quit");
  }
}

Para compilar el ejemplo*:

javac -cp lib\jacob.jar OLE.java

Para ejecutarlo*:

java -cp .;lib\jacob.jar -Djava.library.path=lib OLE

* en la carpeta “lib” han de estar contenidos los archivos: jacob.jar y jacob-X.XX-XX-x86.dll descargados de su página oficial.

Para usuarios más avezados, en el mismo archivo donde se incluyen las librerías se pueden encontrar también ejemplos más complejos del uso de la librería. Y si queréis trastear algo más con Internet Explorer aquí tenéis una referencia de propiedades y métodos disponibles.


date Posted on: Tuesday, August 18, 2009 at 23:01 pm
Category programación.
Puedes seguir las respuestas de esta entrada a traves de l feed RSS 2.0.

Puedes dejar una respuesta, o trackback desde tu propio sitio.



Una respuesta to “Acceder a objetos OLE y ActiveX desde Java”

  1. jose

    como me demore encontrandote

    [Responder]

    February 25th, 2018 at 0:01 am
     

Escribe un comentario


a trastear un poco is powered by WordPress
Theme is Coded&Designed by Wordpress Themes at ricdes