Find Java in HMCL directory

This commit is contained in:
Glavo 2022-02-06 16:59:57 +08:00 committed by Yuhui Huang
parent 9ec10dc5dc
commit 4fe7d10872

View File

@ -86,6 +86,25 @@ int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
// Try java in PATH // Try java in PATH
RawLaunchJVM(L"javaw", workdir, exeName); RawLaunchJVM(L"javaw", workdir, exeName);
std::wstring hmclJavaDir;
{
WCHAR buffer[MAX_PATH];
if (SUCCEEDED(SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, buffer))
|| SUCCEEDED(SHGetFolderPath(NULL, CSIDL_PROFILE, NULL, 0, buffer))) {
PathAppend(buffer, L".hmcl");
PathAppend(buffer, L"java");
if (isX64) {
PathAppend(buffer, L"windows-x86_64");
} else {
PathAppend(buffer, L"windows-x86");
}
PathAddBackslash(buffer);
hmclJavaDir = std::wstring(buffer);
}
}
if (!hmclJavaDir.empty()) {
FindJavaInDirAndLaunchJVM(hmclJavaDir, workdir, exeName);
if (isX64) { if (isX64) {
OSVERSIONINFOEX osvi; OSVERSIONINFOEX osvi;
DWORDLONG dwlConditionMask = 0; DWORDLONG dwlConditionMask = 0;
@ -106,7 +125,7 @@ int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
// TODO // TODO
} }
} }
}
MessageBox(NULL, ERROR_PROMPT, L"Error", MB_ICONERROR | MB_OK); MessageBox(NULL, ERROR_PROMPT, L"Error", MB_ICONERROR | MB_OK);
ShellExecute(0, 0, L"https://www.microsoft.com/openjdk", 0, 0, SW_SHOW); ShellExecute(0, 0, L"https://www.microsoft.com/openjdk", 0, 0, SW_SHOW);