Показать сообщение отдельно
  #4  
Старый 03.12.2013, 07:38
serega6531 serega6531 вне форума
Начинающий
 
Регистрация: 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 и обрезается.
Ответить с цитированием