所以我正在尝试制作一个minecraft启动器,但它无法登录到服务器,因为我的帐户已迁移到Mojang,所以我用电子邮件而不是用户名登录,但有一种方法可以获得我的用户名,所以我已经找到了方法,但我需要使用c#从文本中获得一系列代码。
"134382:deprecated:USERNAME:7a909de0530c310c69c:dba0c48a038a66bb98"
我需要将"弃用的:用户名"放在一个单独的文本框中,我该怎么做,注意我是用c#编码的,为了获得上面的代码,我使用了这段代码。
http://login.minecraft.net/?user=USERNAME&password=PASSWORD&version=15
这是迄今为止的代码
private void PlayBtn_Click(object sender, EventArgs e)
{
string username = UsernameBox.Text;
string password = PasswordBox.Text;
Process proc = new Process();
startMinecraft(true, 256, 1024, username, username, false);
}
public static void startMinecraft(bool mode, int ramMin, int ramMax, string username, string sessionID, bool debug)
{
string appPath = Path.GetDirectoryName(Application.ExecutablePath) + @"";
string appData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"";
Process proc = new Process();
if (debug == true)
{
proc.StartInfo.FileName = "java";
}
else
{
proc.StartInfo.FileName = "javaw";
}
//Online and offline modes
if (mode == true)
{
proc.StartInfo.Arguments = "-Xms" + ramMin + "M -Xmx" + ramMax + "M -Djava.library.path=" + appData + ".minecraft/bin/natives -cp " + appData + ".minecraft/bin/minecraft.jar;" + appData + ".minecraft/bin/jinput.jar;" + appData + ".minecraft/bin/lwjgl.jar;" + appData + ".minecraft/bin/lwjgl_util.jar net.minecraft.client.Minecraft " + username + " " + sessionID;
}
else
{
proc.StartInfo.Arguments = "-Xms" + ramMin + "M -Xmx" + ramMax + "M -Djava.library.path=" + appData + ".minecraft/bin/natives -cp " + appData + ".minecraft/bin/minecraft.jar;" + appData + ".minecraft/bin/jinput.jar;" + appData + ".minecraft/bin/lwjgl.jar;" + appData + ".minecraft/bin/lwjgl_util.jar net.minecraft.client.Minecraft " + username;
}
proc.Start();
}
如果订单保持不变,您可以尝试此
string[] results = yourstring.split(':');
yourtextbox.Text = results[1]+ ":" + results[2]; //results1 will give depreciated and results 2 will give UsErname
您还没有完全指定源字符串的格式。现在,我假设它的形式是
*:deprecated:USERNAME:*:*
其中CCD_ 1是任意的但不包含CCD_。
然后你可以说:
var fields = source.Split(':');
string target = fields[1] + ":" + fields[2];
现在您可以将target
分配给您的文本框。
这是我需要的一个工作代码:)非常感谢您的帮助。
WebClient client = new WebClient();
String htmlCode = client.DownloadString("http://login.minecraft.net/?user=USERNAME&password=PASSWORD&version=15");
label1.Text = htmlCode;
string[] results = htmlCode.Split(':');
label2.Text = results[1] + ":" + results[2];
label3.Text = results[2];