JNA(Java Native Access):建立在JNI之上的Java开源框架,SUN主导开发,用来调用C、C++代码,尤其是底层库文件(windows中叫dll文件,linux下是so【shared object】文件)。
JNI是Java调用原生函数的唯一机制,JNA就是建立在JNI之上,JNA简化了Java调用原生函数的过程。JNA提供了一个动态的C语言编写的转发器(实际上也是一个动态链接库,在Linux-i386中文件名是:libjnidispatch.so)可以自动实现Java与C之间的数据类型映射。从性能上会比JNI技术调用动态链接库要低。
package com.wlb.jna;
import com.sun.jna.Library;
import com.sun.jna.platform.win32.WinNT.HANDLE;
public interface User32 extends Library
{
//打开剪切板
int OpenCliboard (int param);
//获取剪切板数据
HANDLE GetClipboardData(int param);
//清空剪切板
boolean EmptyClipboard();
//关闭剪切板
boolean closeClipboard();
}
package com.wlb.jna;
import com.sun.jna.platform.win32.WinNT.HANDLE;
import com.sun.jna.win32.StdCallLibrary;
public interface G