簡體   English   中英

如何從jna或其他庫訪問vb.net本機dll文件的類和方法

[英]How to access classes and methods of vb.net native dll file from jna or other library

我有的
a)我使用過jna庫。
b)我的dll是vb.net本機dll文件。
c)您可以查看此鏈接以獲取有關dll 鏈接的更多信息

我的源代碼如下

接口

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.SetLoginInfoObject.Login

謝謝

Yo可以通過JNI使用共享庫中的本機代碼。 JNI提供了Java和代碼之間的橋梁。 但是,您必須確保為本機例程保留命名約定。

在你的情況下(你想要調用本機代碼的DLL)你可以通過JNI包裝器來編寫代碼。 這樣,您可以保留DLL原樣。

看看這里的示例代碼,其中:

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

這不是您正在尋找的(因為代碼適用於macOS / Linux),但架構將非常相似。

你的JNI包裝器(從Java調用) - 這將是一個本機代碼 - 將加載你已經擁有的庫(一個在其他人生成的DLL內)。 然后,您需要從該DLL調用一個函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM