`
coolme200
  • 浏览: 10331 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

java 调用 windows com 组件的资料整理

阅读更多
应该说Java还是十分强大的,本身提供了jni来调用windows com 组件。
但是要使用好jni似乎没有想象的这么容易,要对c++很懂,部署起来比较麻烦。
一个开源的框架jawin简单的解决了这个问题,以下是本人整理的部分资料(来自于网上),并且调试通过。
http://jawinproject.sourceforge.net这是jawin的官方网站。
在网站上可以获取开发包,有源代码,也有打包好的,按个人需要。
   》将jawin.dll放于c:\winnt\system32下。否则将出现错误:COMException : no jawin in java.library.path;
     如果jawin.dll放在项目目录下,至少在eclipse下调试会通不过。
   》在Eclipse中,菜单->window->preference->Java->installed JREs 将原来的remove,重新建一个指到你的java sdk目录。
   》 ok了。
这样环境就算搭建完成了,然后就可以运行demos下面的例子,应该说里面的例子还是比较详细的,有调用word,ppt,excel等各种例子。
因为对ASP,C++这些不熟,一开始我迷茫了很久。。。。
后来总算找到了点方向,因为这次解决问题的重点是,模拟ASP中创建数据库连接,获取数据的方式。ASP里是用到了msado32.dll 这个文件。没有的话当然需要安装了。
以下是java中调用msado32.dll 连接MSSQL查询数据的例子:
Ole32.CoInitialize();
           DispatchPtr results = null;
           DispatchPtr connection = new DispatchPtr("ADODB.Connection");
           String sql_cn = "Provider=SQLOLEDB.1;Password=teldwno1;Persist Security Info=True;User ID=sa;Initial Catalog=PortalMeta;Data Source=134.96.33.18";
           connection.invoke( "Open", sql_cn );
           String sql = "select * from t_user_info";
           results = (DispatchPtr)connection.invoke("Execute", sql );
           int count = 0;
           while (!((Boolean) results.get("EOF")).booleanValue())
           {
              ++count;
              DispatchPtr fields = (DispatchPtr) results.get("Fields");
              int numFields = ((Integer) fields.get("Count")).intValue();
              for (int i = 0; i < numFields; ++i)
              {
                  DispatchPtr item = (DispatchPtr) fields.get("Item", new Integer(i));
                  System.out.println(item.get("Name") + ": " + item.get("Value"));
              }
              System.out.println();
              results.invoke("MoveNext");
           }
           Ole32.CoUninitialize(); //释放
比较怪异,但总算搞定了~~ 代码基本上还是很容易理解的,懂ASP的人应该一看就懂
分享到:
评论

相关推荐

    Java使用 清华文通OCR文件

    要将清华文通OCR与Java结合,我们需要使用其提供的API或者开发库,例如`thocr9-caifox.rar`可能包含的就是用于编程的接口或组件。通常,这样的库会提供一系列的函数调用,让开发者能够控制OCR引擎进行文字检测、识别...

    java中的IO整理完整版

    以下是对Java IO的详细整理: 首先,Java中的`File`类是操作文件和目录的基础,它提供了许多方法来创建、删除、重命名文件以及检查文件属性。在案例1中,通过`new File("D:\\hello.txt")`创建了一个`File`对象,...

    Java基础整理

    ### Java基础知识点整理 #### 第一章 搭建开发环境 **1.1 配置Java环境** 在配置Java开发环境之前,首先需要下载并安装JDK(Java Development Kit)。JDK是Java语言的核心组件,包含了Java运行时环境(JRE)及编译...

    Java常用英语 最新整理

    - **应用场景:** Java中的方法调用时,需要提供相应的参数。 8. **Ascent (提升):** - **定义:** 向上移动的过程。 - **应用场景:** 一般用于描述数据结构或算法中元素的位置变化。 9. **AWT(Abstract Window ...

    Word批量转换TXT(java)

    JACOB(Java COM Bridge)是一个Java到COM接口的桥梁,它允许Java程序调用Windows的COM组件,例如Microsoft Office。通过JACOB,我们可以直接操作Word文档,实现批量转换的功能。 首先,我们需要在项目中引入JACOB...

    Java笔记.txt

    ### Java基础知识概述 根据提供的文件信息,我们可以提炼出关于Java编程语言...以上是基于提供的文件信息所整理出的 Java 编程语言的基础知识点。通过学习这些概念和技术,可以帮助开发者更好地理解和应用 Java 语言。

    java 英语学习词汇

    根据提供的文件信息,我们可以整理出一系列与Java编程语言及其英语术语相关的知识点。下面将对这些词汇进行详细解读,以便更好地理解和掌握Java编程的基础概念及专业术语。 ### A. 数组(Array) 数组是一种基本的...

    Java企业面试题整理2011

    【Java企业面试题整理2011】涵盖了多个Java编程基础和高级概念,以下是其中一些重要知识点的详细解析: 1. **递归求和**: - 问题1描述了一个计算1到100整数之和的递归函数。递归是函数调用自身的一种方法,通常...

    SUN JAVA 虚拟机

    例如,"jre-1_5_0-windows-i586.exe"是Java运行时环境的安装程序,适用于Windows操作系统且为32位系统。这个版本是Java 5.0,包含了JVM和其他必要的运行Java应用程序的组件。 6. **多线程支持**:Java虚拟机内建了...

    Jacob Word excel 转PDF 合并PDF文件

    Jacob(Java Advanced COM Bridge)是一个Java库,它允许Java应用程序与Microsoft的COM(Component Object Model)接口交互,从而调用Windows系统中的Office应用程序功能,如Word和Excel。 首先,让我们详细了解...

    word源码java-BuildWord:帮我整理word文档的工具

    使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。DLL动态链接库的生成需要windows平台的支持。该方案只能在windows平台实现,是其局限性。 2:Apache POI包括一系列的API,它们...

    javafx整理资料

    这份“javafx自学整理资料”涵盖了从基础概念到高级特性的全面学习资源,旨在帮助初学者和有经验的Java开发者更好地理解和掌握JavaFX技术。 1. JavaFX简介 JavaFX是Oracle公司推出的一种用于构建跨平台的桌面应用...

    jacob 导出word 整理

    Jacob允许Java应用程序通过COM接口与Windows操作系统中的Office应用进行通信,从而实现对Word文档的操作。 Jacob库的核心功能是它提供了Java到COM接口的桥接,使得开发者可以调用Office应用的API来处理Word文档。...

    java课程设计记事本.doc

    9. **评估标准**:在课程设计的评估中,除了代码的正确性和功能的完整性,还会考察学生的学习态度、解决问题的能力、文献调研和资料整理能力,以及对计算机科学的理论理解和应用。 参考文献的选择涵盖了多种层次的...

    java选择题(答案附后)

    根据提供的文件信息,我们可以整理出一系列与Java编程相关的知识点,这些知识点主要涵盖了Java的基本概念、环境配置、语法特性以及程序开发的基本流程等方面。下面将详细解释每个知识点。 ### Java语言类型 1. **...

    RDCOMInteropTest:RefalDriver COM Java 互操作性测试

    Java提供了一种称为Java Native Interface (JNI) 的机制,使得Java代码能够调用本地(非Java)代码,例如C++或COM组件。这在需要利用现有COM组件或库的情况下非常有用。 RDCOMInteropTest项目的目标就是验证...

    java画图应用程序.pdf

    文档中还出现了“Windows”和“PATH”,表明应用程序需要运行在Windows操作系统上,并且环境变量需要正确配置以识别Java的安装路径。 3. Java编程基础:文档中提及了“else”和“for”语句,这是Java语言中的基本...

    Java虚拟机分析与优化

    Java虚拟机(JVM)是执行Java字节码的核心组件,它确保了Java程序能够在任何支持JVM的平台上运行而无需重新编译。本文将详细介绍JVM的基础知识、不同实现之间的差异、内存管理和垃圾回收机制,以及如何对JVM进行性能...

    Java_个人理财追踪器.zip

    1. **跨平台性**:Java的“一次编写,到处运行”特性使得该应用可以在多种操作系统上运行,包括Windows、Mac OS和各种Linux发行版。 2. **稳定性和安全性**:Java有严格的类型检查和垃圾回收机制,能有效防止常见的...

    2020年JAVA工程师简历模板.docx

    ### JAVA工程师核心技能与项目实践经验解析 #### 一、个人基本信息 - **姓名**:未提供 - **年龄**:24岁 - **学历**:本科 - **专业**:计算机科学与技术 - **英语水平**:CET-4 - **联系方式**:未提供 #### 二...

Global site tag (gtag.js) - Google Analytics