首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在没有接口的JNA中使用DLL

如何在没有接口的JNA中使用DLL
EN

Stack Overflow用户
提问于 2012-08-03 22:51:20
回答 1查看 1.9K关注 0票数 2

在花了很多时间学习Python通过Jython将一系列基于DLL的函数实现到Java中之后--我忘了阅读Jython的文档,而且缺乏对ctype的支持使得我的大部分代码变得无用。

我不想使用JNI

我正在尝试从pcshll32.dll使用HLLAPI从Personal Communications访问一些函数。

我确实设法让它在Python上工作,几乎没有任何问题,在web上找到很多文档和食谱真的很容易。

现在我偶然发现了JNA,我在使用它时遇到了很多麻烦。我几乎找不到有关它的信息,特别是当我试图访问非标准DLL时。

据我所知,我需要编写一个pcshll32.class作为接口-很像User32.class,它似乎是一个接口(或者我可能应该将其称为代理...)添加到User32.dll。

嗯,这就是我在读完this后所想的。

所以..。如何导入外部DLL?有可能吗?我需要编写接口/代理吗?外面有没有样品?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-03 23:01:30

你应该这样做:

代码语言:javascript
复制
public interface PcShll32 extends StdCallLibrary { //StdCallLibrary is for Windows functions

    PcShll32 INSTANCE = (PcShll32) Native.loadLibrary(
                   "pcshll32", PcShll32.class, W32APIOptions.DEFAULT_OPTIONS); //Options are for Win32API

    // your methods
}

当然,您必须为JNA提供这个外部库。

对我来说,最好的解释是the source code

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11798088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档