Garnett_Boy 2015-04-03 02:38 采纳率: 0%
浏览 745

Java中利用jawin技术调用第三方dll文件,其中 invoke的参数问题 ,高手请进

各位大神:
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)中的参数怎么写?

  • 写回答

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报错