WEB开发网
开发学院软件开发Java 集成 Windows 本地应用到 Eclipse RCP 程序中 阅读

集成 Windows 本地应用到 Eclipse RCP 程序中

 2009-12-18 00:00:00 来源:WEB开发网   
核心提示:Windows 应用程序非常丰富,而有时我们的 Eclipse RCP 程序所需要的一些功能已经有一些现有的 Windows 本地应用程序的实现,集成 Windows 本地应用到 Eclipse RCP 程序中,我们希望能够在我们的 RCP 程序中重用这些功能,一种最简单的重用方法就是直接在我们 RCP 窗口中嵌入本地

Windows 应用程序非常丰富,而有时我们的 Eclipse RCP 程序所需要的一些功能已经有一些现有的 Windows 本地应用程序的实现,我们希望能够在我们的 RCP 程序中重用这些功能。一种最简单的重用方法就是直接在我们 RCP 窗口中嵌入本地应用程序窗口。要使得一个 Windows 本地应用程序能够在我们的 RCP 程序中运行,我们可以使用 Windows 提供的 reparent 机制。利用这种机制实现窗口嵌入的主要过程是:首先要在我们的程序中启动要嵌入的 Windows 程序,然后我们设法获取程序启动后的主窗口句柄,再将我们RCP程序的窗口设置成 Windows 程序主窗口的父窗口。

由于我们需要启动 Windows 本地程序并且获取它的主窗口句柄,这些只能使用 Windows 本地调用来实现,所以我们先用 Windows 本地调用实现相应的功能,然后我们再用 JNI 进行调用。

JNI 简介

JNI 的全称是 Java Native Interface,JNI 标准是 Java 平台的一部分,它用来将 Java 代码和其他语言写的代码进行交互。下面简单介绍一下使用 JNI 的步骤:

编写带有 native 声明的 java 方法

这里以 HelloWorld 为例:


清单 1. Hello World Java 代码

public class HelloWorld { 
 static { 
 System.loadLibrary(“helloworld”); 
 } 
 
 public native void print(); 
 
 public static void main(String[] args) { 
 HelloWorld hello = new HelloWorld(); 
 hello.print(); 
 } 
} 

编译 Java 代码以及生成 c/c++ 头文件:

1 2 3 4 5 6  下一页

Tags:集成 Windows 本地

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接