请教JNactive用法

yanhaolang 2011-06-20 12:11:12
请教JNactive用法。最好能给个完整的能运行的例子。
在通过JNactive 调用DLL文件来控制led屏的文字显示。下面这个都老报错:
package com.jk.led;

import org.xvolks.jnative.JNative;
import org.xvolks.jnative.Type;
import org.xvolks.jnative.exceptions.NativeException;
import org.xvolks.jnative.pointers.Pointer;
import org.xvolks.jnative.pointers.memory.HeapMemoryBlock;
import org.xvolks.jnative.pointers.memory.MemoryBlockFactory;
import org.xvolks.jnative.misc.basicStructures.INT64;
import org.xvolks.jnative.misc.basicStructures.LONG;
import org.xvolks.jnative.misc.basicStructures.HWND;
import org.xvolks.jnative.misc.basicStructures.LPARAM;
import org.xvolks.jnative.misc.basicStructures.HANDLE;
import org.xvolks.jnative.util.Callback;

public class TestDll {
private static JNative v = null;
private static final String DLL_LIB = "BxADLL.dll";
public static void main(String[] args) {
System.load("C:\\WINDOWS\\system32\\BxADLL.dll");
try {
v = new JNative("BxADLL","WriteVirementLogInfo");
} catch (NativeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}提示:Exception in thread "main" java.lang.IllegalStateException: JNative library not loaded, sorry !
请高手指点,谢谢!
...全文
139 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanhaolang 2011-06-20
  • 打赏
  • 举报
回复
BxADLL.dll,libJNativeCpp.dll都复制到
C:\\WINDOWS\\system32\下的,没有效果,还是那个错误啊。。
magong 2011-06-20
  • 打赏
  • 举报
回复
[Quote=引用楼主 yanhaolang 的回复:]
提示:Exception in thread "main" java.lang.IllegalStateException: JNative library not loaded, sorry !
[/Quote]
这个提示的意思是:
JNative加载不成功
原因可能是
或者不是这个C:\\WINDOWS\\system32\\BxADLL.dll
或者这个Dll依赖的Dll缺失

这样试试看:
将所有相关的Dll全部放到system32目录
程序加载Dll的语句这样写:
System.load("BxADLL");
yanhaolang 2011-06-20
  • 打赏
  • 举报
回复
上面的问题已解决。但是当dll文件 里有多个类,怎样定位到它的方法呢?
n = new JNative("User32.dll", "MessageBoxA");一个类可以这样运行。。。
多个类怎么操作,请高手指点,谢谢。

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧