`

jnative

c 
阅读更多
http://jnative.free.fr/SPIP-v1-8-3/article.php3?id_article=4

public class JnativeRect extends AbstractBasicData<JnativeRect>{

protected JnativeRect(JnativeRect lValue) throws NativeException {
          super(null);
          createPointer();
          mValue = this;
}

public int left;
public int top;
public int right;
public int bottom;

@Override
public JnativeRect getValueFromPointer() throws NativeException {
// TODO Auto-generated method stub
return null;
}

@Override
public int getSizeOf() {
return 4*4;
}

@Override
public Pointer createPointer() throws NativeException {
  pointer = new Pointer(MemoryBlockFactory.createMemoryBlock(getSizeOf()));
          return pointer;
}

}

public class Demo {
public static void main(String[] args) {
test();
}

public static void test(){
Display dis = new Display();
Shell shell = new Shell(dis,SWT.DIALOG_TRIM|SWT.RESIZE);
shell.setSize(800,600);
shell.setLayout(new FillLayout());
shell.setText("S2 Graph from SWT");
shell.open();
dosomething(shell);
while(!shell.isDisposed()){
if(!dis.readAndDispatch()){
dis.sleep();
}
}
dis.dispose();
}
private static void dosomething(Shell shell) {
try {
HWND hWnd = User32.FindWindow(null,"S2 Graph from SWT");
//m_hPE = PEcreate(PECONTROL_SGRAPH, WS_VISIBLE, &rect, hWnd, 1001);
System.loadLibrary("pegrp32c");// InterfaceFun是dll文件
// 參數說明InterfaceFun dll名,AddZhiYe函數名
JNative jnative = new JNative("pegrp32c", "PEcreate");
// 設置此函數的返回值
int i = 0;
// 賦予參數值
jnative.setParameter(i++,300);
jnative.setParameter(i++,org.xvolks.jnative.util.constants.winuser.WindowsConstants.WS_VISIBLE);

JnativeRect jr = new JnativeRect(null);
jr.getPointer().setIntAt(0, shell.getLocation().x);
jr.getPointer().setIntAt(4, shell.getLocation().y);
jr.getPointer().setIntAt(8, shell.getLocation().x+400);
jr.getPointer().setIntAt(12, shell.getLocation().y+400);
jnative.setParameter(i++,jr.getPointer());

jnative.setParameter(i++,shell.handle);
jnative.setParameter(i++,1001);
// 函數執行
jnative.invoke();
} catch (Exception e) {
e.printStackTrace();
}

}
}
分享到:
评论

相关推荐

    JNative v1.3 docs

    jnative包用于调用dll动态库,目前(2011-12-20)最新版本为1.4RC2,官方正式版本文档为1.3,详见官方地址: http://jnative.free.fr/docs/ 这是最新的帮助文档HTML离线包,希望对大家有帮助 Packages org.xvolks....

    Jnative-1.3.2及心得

    由于项目要求,需要用Java调用windows的dll文件,查了一下,如果用JNI的话是比较麻烦的,在sourceforge.net上搜索了一下“Java dll”,首先出现的是Jnative,于是决定用它,后来也试了些别的,但还是JNative好使,...

    JNative_1.4RC3_src

    由于项目要求,需要用Java调用windows的dll文件,查了一下,如果用JNI的话是比较麻烦的,在sourceforge.net上搜索了一下“Java dll”,首先出现的是Jnative,于是决定用它,后来也试了些别的,但还是JNative好使,...

    jnative简单的使用

    jnative jnative jnative jnative

    jnative使用方法总结

    jnative使用方法总结jnative使用方法总结jnative使用方法总结

    JNative.jar以及JNative源码

    java调用dll时所需的JNative.jar 以及JNativeCpp.dll(win),libJNativeCpp.so(linux) 和JNative的源码

    linux jnative 调用.so方法及附属全部库和源码

    JNative getstring = new JNative("libmylib.so", "getstring"); getstring.setRetVal(Type.STRING); getstring.invoke(); System.out.println(getstring.getRetVal()); } } 4.输出结果 this is in test_a.....

    JNative_1.4RC2&1.4RC3&Jar;整合资源包

    JNative源代码的压缩包把它解压后从中找到libJNativeCpp.so和JNativeCpp.dll两个文件.JNativeCpp.dll应用在Windows平台下.把它放在c:\windows\system32目录下.libJNativeCpp.so应用在Linux平台下 JavaDOC: ...

    Jnative1.4_java调用动态库所需jar

    Jnative1.4_java调用动态库所需jar,里面包含了一个可以测试的动态库,可以自己拿下来玩玩。

    Jnative资源包源码

    Jnative资源包源码Jnative资源包源码Jnative资源包源码Jnative资源包源码Jnative资源包源码Jnative资源包源码

    JNative.jar和JNativeCpp.dll

    包括了JNative.jar包和JNativeCpp.dll,还有一个libJNativeCpp.so文件

    JNative完全自学手册

    手把手帮助你完全深度理解掌握Jnative 核心技术,实例众多

    JNative使用示例

    TestJNative_Eclipse.rar 为MyEclipse工程 JNativeTest_VC.rar为VC ...主要写了一些JNative调用DLL的例子,包含了JNative回调函数的用法与指针的用法,以供参考,希望对使用JNative的开发人员有帮助 有问题大家一起讨论

    JNA.jar-JNative.jar-jinvoke.jar-dll创建-JAVA调用-VC调用

    包含jna.jar,JNative.jar,jinvoke.jar,VC++创建DLL例子,VC++调用DLL例子,JAVA、JNA、JNative、jinvoke调用DLL例子

    JNative Java调用动态链接库jar包

    JNative是目前比较简单的一个Java调用动态链接库jar包,使用简单,容易掌握,大家共同学习。

    JNative api说明文档

    JNative api说明文档,也没什么好说的,自己看吧

    jnative 1.4

    jnative 1.4 jnative 1.4 jnative 1.4 jnative 1.4 jnative 1.4 jnative 1.4 jnative 1.4 jnative 1.4

    JNative相关jar包和dll ,so文件.zip

    jNative.jar jNativeCpp.dll libjNativeCpp.so 免费下载jNative.jar jNativeCpp.dll libjNativeCpp.so 免费下载jNative.jar jNativeCpp.dll libjNativeCpp.so 免费下载jNative.jar jNativeCpp.dll libjNativeCpp.so ...

    JAVA调用动态链接库DLL之JNative学习源码

    JAVA调用动态链接库DLL之JNative学习源码,详细请参考:http://blog.csdn.net/testcs_dn/article/details/26980027

    JNative-1.3.2.zip

    JNative.jar , JNativeCpp.dll ,libJNativeCpp.so,java通过JNative调用动态dll所需的文件jar

Global site tag (gtag.js) - Google Analytics