当前位置: 技术问答>java相关
紧急求援,JAVA中,怎么调用VC写的DLL和OCX控件???在线等待,解决立即给分!!!
来源: 互联网 发布时间:2015-06-30
本文导语: 紧急求援,JAVA中,怎么调用VC写的DLL和OCX控件???在线等待,解决立即给分!!!如果分不够,还可以再加,谢谢!!! 也可以用E-Mail:luckytigerwood@sina.com | 可以试试COM-Java的桥接! 如J-Inte...
紧急求援,JAVA中,怎么调用VC写的DLL和OCX控件???在线等待,解决立即给分!!!如果分不够,还可以再加,谢谢!!!
也可以用E-Mail:luckytigerwood@sina.com
也可以用E-Mail:luckytigerwood@sina.com
|
可以试试COM-Java的桥接!
如J-Integra,支持COM和Java组件的双向通信而且不需要本机库!
另外可以关注一下J2EE的COM桥(好像是叫CAS吧)!
如J-Integra,支持COM和Java组件的双向通信而且不需要本机库!
另外可以关注一下J2EE的COM桥(好像是叫CAS吧)!
|
好说好说,我刚刚有做完一个类似的应用。在Java Application中调用一个现有的ActiveX控件。虽然比较辛苦——由于利用JNI,需要用比较纯粹的API调用包装ActiveX控件的借口部分,不过,技术上没有难度。
CodeProject有一个现成集成ActiveX控件的例子,虽然比较简单,但我也是参照了这个例子才实现我们的应用。
Embed ActiveX controls inside Java GUI
By Davanum Srinivas
http://www.codeproject.com/java/javacom.asp
Good luck!
CodeProject有一个现成集成ActiveX控件的例子,虽然比较简单,但我也是参照了这个例子才实现我们的应用。
Embed ActiveX controls inside Java GUI
By Davanum Srinivas
http://www.codeproject.com/java/javacom.asp
Good luck!
|
那就只有用JNI了
class ShowMsgBox{
public static void main(String [] args){
ShowMsgBox app= new ShowMsgBox();
app.ShowMessage("Generated with JNI");
}
private native void ShowMessage(String msg);
static{
System.loadLibrary("动态库(不加扩展名)");
}
}
直接编译运行
但能不能调用COM组件就不知道了
class ShowMsgBox{
public static void main(String [] args){
ShowMsgBox app= new ShowMsgBox();
app.ShowMessage("Generated with JNI");
}
private native void ShowMessage(String msg);
static{
System.loadLibrary("动态库(不加扩展名)");
}
}
直接编译运行
但能不能调用COM组件就不知道了
|
建议你先看看http://java.sun.com/products/jdk/1.2/docs/guide/jni/,它介绍了jni的原理和步骤,然后在看楼上这位提供的例子,就会很清楚了。否则你会不知道楼上提供的例子是怎么一步一步做出来的,特别是会用到.h文件,但它却是由jni命令生成的,而不是VC生成的。祝你成功,应该不难!
|
这个可能可以帮帮你。
http://www.codeproject.com/useritems/sharedmem_jni.asp
http://www.codeproject.com/useritems/sharedmem_jni.asp
|
好象是这样调用的:
System.loadLibrary("feedback");
feedback为dll的名称,具体怎么样,你可以试试。
System.loadLibrary("feedback");
feedback为dll的名称,具体怎么样,你可以试试。
|
调用比较麻烦, 你想用现成的DLL, 先写个JAVA 类实现你的调用DLL的方法,
用JAVAH生成相应的头文件,在C中实现它.
最后System.loadLibray(),在JAVA中调用他的静态方法.
用JAVAH生成相应的头文件,在C中实现它.
最后System.loadLibray(),在JAVA中调用他的静态方法.
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。