
03.12.2013, 07:38
|
Начинающий
|
|
Регистрация: 03.03.2013
Сообщения: 106
Версия Delphi: Delphi 7, XE5
Репутация: 10
|
|
Нет, в файл нельзя. Код:
Код:
procedure ExecuteMinecraft(MinecraftData: TMinecraftData);
var
lpDirectory, lpFile, lpParameters: PWideChar;
si:TStartupInfo;
pi:TProcessInformation;
begin
with MinecraftData do
begin
lpDirectory := PWideChar(MinePath);
lpParameters := PWideChar(
//'-Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true ' +
'-Xms' + Xms + 'm ' +
'-Xmx' + Xmx + 'm ' +
'-Djava.library.path="' + NativesPath + '" ' +
'-cp "' + CP + '" ' +
'net.minecraft.client.main.Main ' + LogonInfo
{
'net.minecraft.launchwrapper.Launch' + LogonInfo +
' --tweakClass cpw.mods.fml.common.launcher.FMLTweaker'
}
);
lpFile := PWideChar(Java + '\javaw.exe');
end;
ShellExecuteW(0,nil,lpFile,lpParameters,lpDirectory,SW_SHOWNORMAL);
//CreateProcessW(PWideChar('"' + MinecraftData.Java + '\javaw.exe"'),lpParameters, nil, nil, false, NORMAL_PRIORITY_CLASS,nil, nil, si, pi);
end;
procedure PlayMinecraft(servername:string;auth:TAuthManager);
var
FileList: TStringList;
I: Word;
CP: string;
MinecraftData: TMinecraftData;
begin
FileList := TStringList.Create;
CheckFolder(settings.MinecraftDir+'libraries\', '*.jar', FileList);
CheckFolder(settings.MinecraftDir+'dists\' + servername + '\', '*.jar', FileList);
CP := '';
for I := 0 to FileList.Count - 1 do
begin
CP := CP + FileList.Strings[i] + ';';
end;
MinecraftData.Minepath := settings.MinecraftDir;
MinecraftData.Java := getJavaPath();
MinecraftData.Xms := settings.MinMem;
MinecraftData.Xmx := settings.MaxMem;
MinecraftData.NativesPath := settings.MinecraftDir + 'dists\' + servername + '\natives';
MinecraftData.CP := CP;
MinecraftData.LogonInfo := '--username ' + auth.getLogin() + ' ' +
'--session ' + auth.getParams() + ' ' +
'--version 1.6.4 ';
ExecuteMinecraft(MinecraftData);
FreeAndNil(FileList);
ExitProcess(0);
end;
Как раз lpParameters и обрезается.
|