加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何从jna或其他库访问vb.net本机dll文件的类和方法

发布时间:2020-12-17 07:27:16 所属栏目:百科 来源:网络整理
导读:是)我有的 a)我使用过jna库. b)我的dll是vb.net本机dll文件. c)您可以查看此链接以获取有关dll link的更多信息 我的源代码如下 接口 package com.dll.lib;import com.sun.jna.Library;import com.sun.jna.Native;public interface BrowseControl extends Lib
是)我有的
a)我使用过jna库.
b)我的dll是vb.net本机dll文件.
c)您可以查看此链接以获取有关dll link的更多信息

我的源代码如下

接口

package com.dll.lib;

import com.sun.jna.Library;
import com.sun.jna.Native;

public interface BrowseControl extends Library {
    BrowseControl instance = (BrowseControl)Native.loadLibrary("Vertex FXBOAPI10.5.9",BrowseControl.class);
}

package com.dll.main;

import com.dll.lib.BrowseControl;

public class MainTest {

    public static void main(String[] args) {
        BrowseControl control=BrowseControl.instance;
            System.out.println("Brwoser: "+control.getClass());
        }  
    }

}

这段代码正在运行.

我想要的是
a)如何在java编程语言中从dll访问他们的类和方法?

b)如何引用{VertexFX Backoffice API} Dll,然后定义类型为CVertexFXBOAPI类的Object,之后调用方法Object.SetLoginInfo和Object.Login

谢谢

解决方法

Yo可以通过JNI使用共享库中的本机代码. JNI提供了Java和代码之间的桥梁.但是,您必须确保为本机例程保留命名约定.

在你的情况下(你想要调用本机代码的DLL)你可以通过JNI包装器来编写代码.这样,您可以保留DLL原样.

看看这里的示例代码,其中:

http://jnicookbook.owsiak.org/recipe-No-018/

这不是您正在寻找的(因为代码适用于macOS / Linux),但架构将非常相似.

你的JNI包装器(从Java调用) – 这将是一个本机代码 – 将加载你已经拥有的库(一个在其他人生成的DLL内).然后,您需要从该DLL调用一个函数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读