各位大神:
dll中的被调用方法如下:
long WINAPI AutoOpenComPort(long* Port, unsigned char *ComAdr, unsigned char Baud,long *FrmHandle);
其中: Port:输出变量,
ComAdr:输入/输出变量
Baud:输入变量
FrmHandle:输出变量
请问它的
msgBox.invoke(instructions, stackSize, argStream, objectArgs, flags)中的参数怎么写?
Java中利用jawin技术调用第三方dll文件,其中 invoke的参数问题 ,高手请进
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 你知我知皆知 2024-08-03 15:30关注
以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在JAVAWARN中,你不能直接调用DLL函数。但是你可以使用JNI(Java Native Interface)来间接调用DLL函数。
以下是一个简单的示例,展示了如何使用JNI来调用一个DLL函数:
import java.lang.*; public class Main { public static void main(String[] args) throws Exception { // 创建一个指向DLL的指针 long DLLPointer = getDLLPointer(); // 调用DLL函数 long result = AutoOpenComPort(DLLPointer, null, 1200, null); // 打印结果 System.out.println("Result: " + result); } private static long getDLLPointer() throws Exception { // 获取DLL地址 return 0; } }
在这个例子中,我们首先创建了一个指向DLL的指针。然后,我们调用了DLL函数,并将返回值存储在一个long类型的变量中。最后,我们打印了返回值。
请注意,这只是一个基本的例子。在实际应用中,你需要处理更多的错误和异常,并确保你的程序是安全的。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 Opencv(C++)异常
- ¥15 VScode上配置C语言环境
- ¥15 汇编语言没有主程序吗?
- ¥15 这个函数为什么会爆内存
- ¥15 无法装系统,grub成了顽固拦路虎
- ¥15 springboot aop 应用启动异常
- ¥15 matlab有关债券凸性久期的代码
- ¥15 lvgl v8.2定时器提前到来
- ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
- ¥15 cam_lidar_calibration报错