Я пытаюсь запустить программу Java через программу Windows, которую я создал как своего рода приложение «Launcher». Обычно для запуска этой Java-программы я либо запускаю пакетный файл, либо иду прямо в окно командной строки cmd (Windows Key + R, введите «cmd») и введите java -Xmx4096M -Dsun.java2d.noddraw=true [...]
, Дело в том, что Джава кажется, узнается в этом окне.
С другой стороны, когда я запускаю командную строку из своего приложения, java больше не «распознается как внутренняя или внешняя команда, работающая программа или пакетный файл».
TCHAR szPath[MAX_PATH];
if(SUCCEEDED(SHGetFolderPath(NULL, CSIDL_SYSTEM, NULL, 0, szPath))) {
PathAppend(szPath, TEXT("cmd.exe"));
ShellExecuteW( GetSafeHwnd(),L"open", szPath, NULL, NULL, 1 );
}
PVOID OldValue = NULL;
if( Wow64DisableWow64FsRedirection(&OldValue) ) {
TCHAR szPath[MAX_PATH];
if(SUCCEEDED(SHGetFolderPath(NULL, CSIDL_SYSTEM, NULL, 0, szPath))) {
PathAppend(szPath, TEXT("cmd.exe"));
ShellExecuteW( GetSafeHwnd(), L"open", szPath, NULL, NULL, 1 );
}
if ( FALSE == Wow64RevertWow64FsRedirection(OldValue) ) {
AfxMessageBox(L"A script that should never fail has failed.");
return;
}
}
Благодаря HansPassant за ведение меня в правильном направлении.
Других решений пока нет …