Я бы пошел, и захватил эту небольшую утилиту , и в ней вы найдете функции для этого. Вот краткий пример:
Самый простой (и даже правильный) способ - найти путь, где java.exe
.
Вы можете использовать функцию FileSearch
, например:
var
Path: string;
begin
Path := FileSearch('java.exe', GetEnv('PATH'));
if Path = '' then
begin
Log('Java not found in PATH');
end
else
begin
Path := ExtractFileDir(Path);
Log(Format('Java is in "%s"', [Path]));
end;
end;
Если вы все еще хотите найти путь, содержащий JRE
, вы можете использовать такой код:
var
Path: string;
JavaPath: string;
S: string;
P: Integer;
begin
Path := GetEnv('PATH');
while (Path <> '') and (JavaPath = '') do
begin
P := Pos(';', Path);
if P = 0 then
begin
S := Trim(Path);
Path := '';
end
else
begin
S := Trim(Copy(Path, 1, P - 1));
Path := Trim(Copy(Path, P + 1, Length(Path) - P));
end;
if Pos('JDK', Uppercase(S)) > 0 then
begin
JavaPath := S;
end;
end;
if JavaPath = '' then
begin
Log('Java not found in PATH');
end
else
begin
Log(Format('Java is in "%s"', [JavaPath]));
end;
end;
C:\Program Files (x86)\Common Files\Oracle\Java\javapath
? Это также путь Java, не так ли? – Martin Prikryl 13 July 2018 в 11:36server\JVM.dll
вместоjava.exe
, если вы считаете, что вам нужноJVM.dll
. – Martin Prikryl 13 July 2018 в 11:48