jvm.dll 上的加载库失败,错误代码为 183

LoadLibrary on jvm.dll fails with error code 183

本文关键字:错误代码 失败 dll 加载 jvm      更新时间:2023-10-16

我正在尝试在C++中使用JNI来调用Java的方法。

我已经在控制台应用程序上尝试过这个并且它有效,但是当我切换到任何应用程序中加载的DLL时,它失败并显示错误" ERROR_ALREADY_EXISTS">

HMODULE jvmDLL = LoadLibrary("C:\Program Files\Java\jre1.8.0_191\bin\server\jvm.dll");
if (!jvmDLL) {
int error = GetLastError(); // this returns 183
}

这在注入任何应用程序的 DLL 之外的任何内容上都非常有效。它不应为空。

试试这个:

HMODULE jvmDLL = LoadLibrary("C:\Program Files\Java\jre1.8.0_191\bin\server\jvm.dll");
if (!jvmDLL)
jvmDLL = GetModuleHandle("jvm.dll");
}