2013-08-03 2 views
-4

Так что я пытаюсь запустить minecraft launcher, но он не войдет в систему, потому что моя учетная запись перенесена в Mojang, поэтому я вхожу в систему с моей электронной почтой вместо моего имени пользователя, но есть способ получить мое имя пользователя, поэтому я узнали, как, но мне нужно получить строку кода из этого текста, используя C#.Как получить определенную строку из текста. C#

"134382:deprecated:USERNAME:7a909de0530c310c69c:dba0c48a038a66bb98" 

Мне нужно получить «устаревшее: USERNAME» в отдельном текстовом поле, как бы я идти об этом, обратите внимание, я кодирования в 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(); 
    } 
+0

Что вы пытались выполнить? У вас есть код? –

+0

Я редактировал вопрос, я добавил код – Terrii

+0

Просто небольшой совет, вам не нужно явно пытаться оценить логическое условие как '== true' или' == false' ... он может просто be 'if (debug)' или 'if (mode)' – Arran

ответ

3

если порядок остается прежним, вы можете попробовать это

string[] results = yourstring.split(':'); 
    yourtextbox.Text = results[1]+ ":" + results[2]; //results1 will give depreciated and results 2 will give UsErname 
+0

Есть ли способ добавить его так, что он идет на url, а затем разбивает его, а не загружает файл, а затем читает его? – Terrii

+0

@Terrii жаль, что я не получил ваш вопрос. добавить что? – Ehsan

+0

нет, это нормально, что я хочу, чтобы программа запускала это, читала строку на url сайта, затем одну целую строку в текстовое поле, затем снова разложил код, чтобы его просто не рекомендовали: USERNAME – Terrii

2

Вы не полностью указан формат исходной строки , На данный момент, я "буду считать, что это вид

*:deprecated:USERNAME:*:* 

где * произвольно, но не содержит :

Тогда вы можете сказать:.

var fields = source.Split(':'); 
string target = fields[1] + ":" + fields[2]; 

и теперь вы можете назначить target для ваше текстовое поле

0

Это рабочий код, который мне нужен :) Большое спасибо за помощь.

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];