java或者c#操作gpib-32.dll文件出错

thtwinj2ee 2010-04-24 11:45:28
JNative操作gpib.dll控制GPIB卡出错,主要内容如下:
我想通过JNative调用gpib-32.dll文件来控制gpib卡,我将gpib-32.dll文件放在windows/system32 /目录下面,具体的程序代码如下:

1. String libpath = "C:/WINDOWS/system32/gpib-32.dll";
2. System.load(libpath);
3. File file = new File("C:/WINDOWS/system32/gpib-32.dll") ;
4. if(file.exists())
5. {
6. System.out.println("Exists");
7. }
8. else
9. {
10. System.out.println("error");
11. }
12. JNative v = new JNative("gpib-32.dll","ibdev") ;
13. // int i = 0;
14. // v.setRetVal(Type.INT);
15. // v.setParameter(i++, 0);
16. // v.setParameter(i++, "CONF:CURR:DC DEF");
17. // v.setParameter(i++, 0);
18. // v.setParameter(i++, 11);
19. // v.setParameter(i++, 1);
20. // v.setParameter(i++, 0);
21. // v.invoke();
22. // int ret = Integer.parseInt(v.getRetVal

程序报错说:找不到依赖库。我自己也不知道到底是依赖什么库?我在网上也看见了别人用C#写的例子,他的例子里面也只是用到了GPIB-32.DLL文件,没有用到别的。那为什么JAVA里面就需要依赖库了呢?我用的是JNative组件,里面的相关jar与提供的dll文件我都正确配置了。jar放在 classpath里面,dll文件放在window/system32目录。

我也用c#写了一段测试程序,具体代码如下:

[DllImport("gpib-32.dll")]
public static extern int ibdev(int board_index, int pad, int sad, int timo, int send_eoi, int eosmode);
private void button1_Click(object sender, EventArgs e)
{
//MsgBox(0, " 这就是用 DllImport 调用 DLL 弹出的提示框哦! ", " 挑战杯 ", 0x30);
ibdev(0, 22, 0, 11, 1, 0);
}



但是运行的时候,说:"无法加载 DLL“gpib-32.dll”: 找不到指定的模块.

自己到网上去搜索了几天了,结果都没有找到答案,这方面的资料好像是太少了。有点多的关于VB方面的,自己又用不上。真是愁死人了。

请问用JAVA做过类似东西的大大,给我一点提示。谢谢
...全文
417 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qjtttt 2010-04-24
  • 打赏
  • 举报
回复
JNI好像可以调用DLL,不过好像和VB C++之类不一样,要自己弄个头文件,我也不太熟悉,只是把自己印象里的说下
thtwinj2ee 2010-04-24
  • 打赏
  • 举报
回复
谢谢qjttt的回答。

81,092

社区成员

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

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