Java或JS如何调用ActiveX?能给出程序吗?谢谢

解决方案 »

  1.   

    将activex控件先注册
    regsvr32 c:\aa.ocx
    然后在js中调用属性方法即可
    详情查看有关资料
      

  2.   

    能给出例子吗,实在不会JS;有没有可能Java直接调用ActiveX?
      

  3.   

    在jsp程序中使用com组件的机会并不多,jsp也没有直接操作com的函数,但有的工作有时候还必须使用com组件来完成,下面就来说一下具体的操作方法。
      在jsp中使用com组件有两种方法:一种是用javascript在客户端来控制(严格说这个应该是html的功能),如:
     
        <OBJECT id="myCom" classid="clsid:9D8A2E2F-D38F-CDAC-D0C5-5B3FB2275442" codebase=".com/com.cab#version=1.9.9.0" >
      </OBJECT>
      <script>
      function Hello() { 
      var result=  myCom.Hello(“李宗斌“); 
      return result;
      }
      </scipt>   结果返回:你好,李宗斌  但是这种方法有个弊端就是只能在客户端操作,不能操作服务器端的东西。而且每个客户端都要安装这个组件才能运行。
      第二种是直接用jsp通过Java-COM连接桥JACOB来操作服务器端的com组件。JACOB的下载地址是http://danadler.com/jacob/。运行的时候需要两个文件:jacob.jar和jacob.dll。
      配置的方法是:把jacob.jar放到CLASSPATH里,把jacob.dll所在的路径加到path里。如d:\com  使用的方法如下:  1。先在服务器端注册com组件;
      2。找到组件的名字(一般应该是知道的,不知道的话就到注册表中去找);
      3。程序示例:
     
        <%@ page contentType="text/html; charset=gb2312" language="java" %>
      <%@ page import="com.jacob.com.*" %>
      <%@ page import="com.jacob.activeX.*" %>
      <%
      System.runFinalizersOnExit(true);
      ActiveXComponent mf = new ActiveXComponent("MakerCom.MakerExt");//找到组件
      Object  myCom = mf.getObject();//生成一个对象
      String  result= Dispatch.call( myCom, "Hello", new Variant( "李宗斌") )  ;
      /*调用组件的方法,myCom是组件的对象名,Hello是组件的函数,new Variant( "李宗斌") 是组件的参数变量,如果有多个可以在后边加上,方法一致*/
      out.println(result);
      %>  
     
     
      

  4.   

    JAVA调用ACTIVEX属于JNI技术,在SUN的JAVA帮助文档中有介绍。