Java 使用JNA在另一个进程中调用函数

Java 使用JNA在另一个进程中调用函数,java,winapi,jna,Java,Winapi,Jna,我正在使用JNA编写一个Java程序,它应该将自身连接到另一个进程,并在该进程内存空间中的不同地址调用函数 我已经将JNA设置为一个依赖项以及作为JNA项目一部分的平台contrib,但是我注意到在Kernel32类中没有到VirtualAllocEx、WriteProcessMemory和其他一些的映射。我相信这项任务需要这些功能,但也许有更好的方法,或者这些功能已经在其他地方实现了 有没有办法使用win32平台contrib来实现这一点?如果是的话,我应该去哪里看?如果没有其他选项,或者我必

我正在使用JNA编写一个Java程序,它应该将自身连接到另一个进程,并在该进程内存空间中的不同地址调用函数

我已经将JNA设置为一个依赖项以及作为JNA项目一部分的平台contrib,但是我注意到在Kernel32类中没有到
VirtualAllocEx
WriteProcessMemory
和其他一些的映射。我相信这项任务需要这些功能,但也许有更好的方法,或者这些功能已经在其他地方实现了


有没有办法使用win32平台contrib来实现这一点?如果是的话,我应该去哪里看?如果没有其他选项,或者我必须自己从Kernel32映射这些函数吗?

要扩展现有库映射,只需扩展接口并生成一个新实例:

public interface MyLibrary extends OriginalLibrary {
    MyLibrary INSTANCE = (MyLibrary)Native.loadLibrary("name"[, options]);
    void extensionFunction();
}
现在,您有了一个库映射,其中包括所有原始内容以及您的方法。请注意,在扩展w32 API映射时,应该传入相同的选项(通常是
W32API_DEFAULT_options
);有关详细信息,请参阅相应的库映射对
Native.loadLibrary()
的调用