JustPaste.it
{启动按钮}
begin
  try
    Filename:=ExtractFilePath(Paramstr(0))+'mclauncher.ini';
    myinifile:=Tinifile.Create(Filename);
    Path:=myinifile.ReadString('Java', 'Path', '0');
    JavaXmx:=myinifile.ReadString('Java', 'Xmx', '0');
    JavaD64:=myinifile.ReadString('Java', 'D64', '0');
    PlayerName:=myinifile.ReadString('User', 'Name', '0');
  finally
    myinifile.Free;
  end;
  SetEnvironmentVariable(PChar('APPDATA'), PWideChar(GetCurrentDir()));
  if (FileExists(GetCurrentDir()+'\.minecraft\bin\minecraft.jar')) then
    begin
      if JavaD64 = '0' then
        begin
          ShellExecute(Handle, 'open', PChar(Path), PWideChar('-Xincgc -Xmx' +
           JavaXmx + 'M -XX:PermSize=64m -XX:MaxPermSize=128m ' +
           '-Dsun.java2d.noddraw=true -Dsun.java2d.pmoffscreen=false ' +
           '-Dsun.java2d.d3d=false -Dsun.java2d.opengl=false -cp "' +
           GetCurrentDir() + '\.minecraft\bin\minecraft.jar;' + GetCurrentDir() +
           '\.minecraft\bin\lwjgl.jar;' + GetCurrentDir() + '\.minecraft\bin\lwjgl_util.jar;' +
           GetCurrentDir() + '\.minecraft\bin\jinput.jar" -Djava.library.path="' +
           GetCurrentDir() + '\.minecraft\bin\natives" net.minecraft.client.Minecraft ' +
            PlayerName), nil, SW_SHOW);
           close();
        end
      else
        begin
          ShellExecute(Handle, 'open', PChar(Path), PWideChar('-Xincgc -Xmx' +
           JavaXmx + 'M -XX:PermSize=64m -XX:MaxPermSize=128m ' +
           '-Dsun.java2d.noddraw=true -Dsun.java2d.pmoffscreen=false ' +
           '-Dsun.java2d.d3d=false -Dsun.java2d.opengl=false -D64 -cp "' +
           GetCurrentDir() + '\.minecraft\bin\minecraft.jar;' + GetCurrentDir() +
           '\.minecraft\bin\lwjgl.jar;' + GetCurrentDir() + '\.minecraft\bin\lwjgl_util.jar;' +
           GetCurrentDir() + '\.minecraft\bin\jinput.jar" -Djava.library.path="' +
           GetCurrentDir() + '\.minecraft\bin\natives" net.minecraft.client.Minecraft ' +
            PlayerName), nil, SW_SHOW);
           close();
        end;
    end
  else
    Application.MessageBox('没有找到游戏文件,请进入“下载”下载游戏!',
     '提示', MB_ICONWARNING);

 

{INI配置文件读写}

begin
  if not (FileExists(ExtractFilePath(Paramstr(0))+'mclauncher.ini')) then
    begin
      if(FileExists(ExtractFilePath(Paramstr(0))+'launcher.ini')) then
        begin
          if((Application.MessageBox('发现MCLauncher配置文件,是否转换?', '提示',
           MB_YESNO Or MB_ICONQUESTION)) = IDYES) then
            begin
              try
                Filename:=ExtractFilePath(Paramstr(0))+'launcher.ini';
                myinifile:=Tinifile.Create(Filename);
                Path:=myinifile.ReadString('launcher4.0', 'JavaW', '0');
                JavaXmx:=myinifile.ReadString('launcher4.0', 'JavaXmx', '0');
                JavaD64:=myinifile.ReadString('launcher4.0', 'JavaD64', '0');
                PlayerName:=myinifile.ReadString('launcher4.0', 'Name', '0');
              finally
                myinifile.Free;
              end;
              try
                Filename:=ExtractFilePath(Paramstr(0))+'mclauncher.ini';
                myinifile:=Tinifile.Create(Filename);
                myinifile.writestring('User', 'Name', PlayerName);
                myinifile.writestring('Java', 'Xmx', JavaXmx);
                if JavaD64 = '1' then
                  begin
                    myinifile.writebool('Java', 'D64', true);
                  end
                else
                  begin
                    myinifile.writebool('Java', 'D64', false);
                  end;
                myinifile.writestring('Java', 'Path', Path);
              finally
                myinifile.Free;
              end;
              ShowMessage('转换成功!输出文件: '+ExtractFilePath(Paramstr(0)) +
               'launcher.ini');
            end
          else
            begin
              Application.MessageBox('已选择不转换配置文件,即将进入“选项”重新进行配置!',
               '提示', MB_ICONINFORMATION);
              try
                Filename:=ExtractFilePath(Paramstr(0))+'mclauncher.ini';
                myinifile:=Tinifile.Create(Filename);
                myinifile.writestring('User', 'Name', 'Player');
                myinifile.writestring('Java', 'Xmx', '1024');
                myinifile.writebool('Java', 'D64', false);
                myinifile.writestring('Java', 'Path', 'javaw.exe');
              finally
                myinifile.Free;
              end;
              Application.CreateForm(TOptionsForm, Options.OptionsForm);
              OptionsForm.show();
            end
        end
      else
        begin
          Application.MessageBox('没有找到配置文件,即将进入“选项”进行配置!',
           '提示', MB_ICONWARNING);
          try
            Filename:=ExtractFilePath(Paramstr(0))+'mclauncher.ini';
            myinifile:=Tinifile.Create(Filename);
            myinifile.writestring('User', 'Name', 'Player');
            myinifile.writestring('Java', 'Xmx', '1024');
            myinifile.writebool('Java', 'D64', false);
            myinifile.writestring('Java', 'Path', 'javaw.exe');
          finally
            myinifile.Free;
          end;
            Application.CreateForm(TOptionsForm, Options.OptionsForm);
            OptionsForm.show();
        end
    end;
end;