Написал программу для запуска Java. Использовал Free Pascal 3.2.2 и Windows 11.
- Код: Выделить всё
program project1;
uses
ShellApi, SysUtils;
var
JRE_Folder, JAR_Folder: String;
{$R *.res}
begin
JRE_Folder := GetCurrentDir + '\JRE\bin\javaw.exe';
JAR_Folder := GetCurrentDir + '\JavaProgram.jar';
ShellExecute(0, 'open', PChar(JRE_Folder), PChar('-jar "' + JAR_Folder + '"'), nil, 1);
end.
Работает исправно, только если фолдер запуска на английском, если переименовать на русский или др. язык, то ничего не запускает. Наверно, неправильно определяет текущий фолдер GetCurrentDir.
Прбовал
- Код: Выделить всё
{$codepage UTF8}
- Код: Выделить всё
PWideChar(UTF8Decode(GetCurrentDir))
Как временное решение, запретил пользователю переименовывать фолдер запуска.
Пожалуйста, подскажите, что можно сделать?