java—有没有办法将可执行jar文件嵌入到c++资源中,将其加载到内存中并使用jvm.dll运行它?

v2g6jxz6  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(224)

我有以下文件:

myExecutableJava.jar

javaExecutor.cpp

resource.rc

resource.rc如下:

101    JAR      "myExecutableJava.jar"

在我的javaexecutor.cpp中,我可以使用以下代码将资源加载到内存中:

HMODULE hModule = GetModuleHandle(NULL);
 HRSRC hResInfo = FindResource(hModule, MAKEINTRESOURCE(101),"JAR");
 HGLOBAL hResData = LoadResource(hModule, hResInfo);
 void* pvRes =  LockResource(hResData)
 DWORD dwSize = SizeofResource(hModule, hResInfo);

我使用windres编译rc文件如下:

windres resource.rc -O coff -o resource.res

并将我的cpp编译如下:

g++ javaExecutor.cpp resource.res -o javaExecutor.exe

现在我想使用jvm.dll或java.exe甚至jni来运行加载的jar文件。需要指出的是,我不想运行独立的jar文件,我需要运行嵌入到资源中并加载到内存中的jar文件。非常感谢所有指导我的人。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题