private void SetNumberSwiss(MatchCollection matches)
        {
            GroupCollection groups      = matches[0].Groups;
            var             phoneNumber = groups[0].Value;

            if (phoneNumber.StartsWith("00") || phoneNumber.StartsWith("+"))
            {
                InternationAreaCode = groups[1].Value;
                AreaCode            = groups[2].Value;
                if (!groups[2].Value.Contains("("))
                {
                    AreaCode = AreaCode.Insert(0, "0");
                }

                var numberWithoutAreaCodes = MyRegex.IsSwissAreaCode.Replace(phoneNumber, "");
                CallNumber = numberWithoutAreaCodes.Trim();
                if (CallNumber.Contains("-"))
                {
                    SplitCallNumberAndDirectialingIn(CallNumber);
                }
            }
            else
            {
                InternationAreaCode = ConstantValue.InternationAreCodeSwiss;
                AreaCode            = phoneNumber.Substring(0, 3);
                CallNumber          = phoneNumber.Substring(3);
                CallNumber          = CallNumber.Trim();
                if (CallNumber.Contains("-"))
                {
                    SplitCallNumberAndDirectialingIn(CallNumber);
                }
            }
        }
 // "Simulates" that the data comes from the DB, having no connection to the data store
 private CallNumber CloneCallNumber(CallNumber source) => new CallNumber()
 {
     Owner                  = source.Owner,
     PhoneNumber            = source.PhoneNumber,
     TransferRequestedTo    = source.TransferRequestedTo,
     TransferRequestStarted = source.TransferRequestStarted
 };
Esempio n. 3
0
        private void CallNumber_Click(object sender, RoutedEventArgs e)
        {
            CallNumber callNumber = new CallNumber
            {
                DataContext = ViewModels.ViewModelLoctor.CallNumberViewModel
            };

            callNumber.Show();
        }
Esempio n. 4
0
        private void InitializeIoC()
        {
            if (SimpleIoc.Default.IsRegistered <bleissem.babyphone.Settings>())
            {
                return;
            }

            SimpleIoc.Default.Register <ICreateTimer>(() => new MyTimerCreator(), true);

            var      dbPath   = System.IO.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "Babyphone.Settings.db3");
            Settings settings = new Settings(dbPath);

            SimpleIoc.Default.Register <bleissem.babyphone.Settings>(() => settings, true);

            AudioManager audioManager = (AudioManager)this.GetSystemService(Context.AudioService);

            Speaker speaker = new Speaker(audioManager);

            SimpleIoc.Default.Register <ISpeaker>(() => speaker, true);

            MuteUnmutePhone mum = new MuteUnmutePhone(audioManager);

            SimpleIoc.Default.Register <IUnMutePhone>(() => mum, true);
            SimpleIoc.Default.Register <IMutePhone>(() => mum, true);

            WindowManagerFlags screenFlags = WindowManagerFlags.ShowWhenLocked | WindowManagerFlags.TurnScreenOn | WindowManagerFlags.KeepScreenOn | WindowManagerFlags.DismissKeyguard;

            TurnOnOffScreenViewModel turnOnOffScreen = new TurnOnOffScreenViewModel(
                new ExecuteAction(() =>
            {
                try
                {
                    this.Window.AddFlags(screenFlags);
                    var attributes = new WindowManagerLayoutParams();
                    attributes.CopyFrom(this.Window.Attributes);
                    attributes.ScreenBrightness = 0f;
                    this.Window.Attributes      = attributes;
                }
                catch
                {
                }
            }),
                new ExecuteAction(() =>
            {
                try
                {
                    this.Window.ClearFlags(screenFlags);
                    var attributes = new WindowManagerLayoutParams();
                    attributes.CopyFrom(this.Window.Attributes);
                    attributes.ScreenBrightness = -1f;
                    this.Window.Attributes      = attributes;
                }
                catch
                {
                }
            }));


            SimpleIoc.Default.Register <ITurnOnOffScreen>(() => turnOnOffScreen, true);

            PhoneCallTimer pct = new PhoneCallTimer(this.ApplicationContext);

            SimpleIoc.Default.Register <IReactOnCall>(() => pct, true);
            SimpleIoc.Default.Register <INotifiedOnCalling>(() => pct, true);

            ForceHangup fh = new ForceHangup();

            fh.Register(this.ForceHangup);
            SimpleIoc.Default.Register <IForceHangup>(() => fh, true);

            ReadContacts rc = new ReadContacts();

            rc.OnFinished += ReadContactsFinished;
            rc.Execute(this);
            SimpleIoc.Default.Register <ReadContacts>(() => rc, true);

            CallNumber callNumber = new CallNumber();

            callNumber.Register(this.Dial, this.CanDial);
            SimpleIoc.Default.Register <ICallNumber>(() => callNumber, true);

            SimpleIoc.Default.Register <IAudioRecorder>(() => new AudioRecorderViewModel(), true);

            SimpleIoc.Default.Register <MainViewModel>(true);
            pct.Register(OnHangUp);
        }
 public Task <CallNumber> Update(CallNumber callNumber)
 {
     _callNumbers.Remove(callNumber.PhoneNumber);
     _callNumbers.Add(callNumber.PhoneNumber, callNumber);
     return(Task.Run(() => callNumber));
 }
 public Task <CallNumber> Add(CallNumber callNumber) => Task.Run(() =>
 {
     _callNumbers.Add(callNumber.PhoneNumber, callNumber);
     return(callNumber);
 });
        public string Initialise()
        {
            // Get data from file
            CallNumberJSONModel fileJSON = GetTreeJson();
            var callNumberTree           = fileJSON.CallNumberTree;
            var level1CallNumbers        = fileJSON.Level1CallNumbers;
            var level2CallNumbers        = fileJSON.Level2CallNumbers;
            var level3CallNumbers        = fileJSON.Level3CallNumbers;

            // Set Parents of nodes manually to avoid circular reference in JSON
            callNumberTree.RecursivelySetParents();

            // Randomly select level 3 call number
            Random     random           = new Random();
            int        index            = random.Next(level3CallNumbers.Count);
            CallNumber randomCallNumber = level3CallNumbers[index];

            // Get correct nodes at each level
            Node <CallNumber> level3CallNumberNode = callNumberTree.FindNodeBreadthFirst(randomCallNumber);
            Node <CallNumber> level2CallNumberNode = level3CallNumberNode.Parent;
            Node <CallNumber> level1CallNumberNode = level2CallNumberNode.Parent;

            int i = 0;

            //Shuffle lists of call numbers and take 3
            level1CallNumbers = level1CallNumbers.OrderBy(x => random.Next()).ToList();
            List <CallNumber> level1Answers = new List <CallNumber>();

            level1Answers.Add(level1CallNumberNode.Data);
            // Ensure that there are no duplicates in list
            while (level1Answers.Count < 4)
            {
                var level1Number = level1CallNumbers[i];
                if (!level1Answers.Contains(level1Number))
                {
                    level1Answers.Add(level1Number);
                }
                i++;
            }

            i = 0;
            level2CallNumbers = level2CallNumbers.OrderBy(x => random.Next()).ToList();
            List <CallNumber> level2Answers = new List <CallNumber>();

            level2Answers.Add(level2CallNumberNode.Data);
            // Ensure that there are no duplicates in list and that the level 2 call numbers are within the bounds of level 1
            // If level 1 is 200, level 2 can't be outside of 200-300
            while (level2Answers.Count < 4)
            {
                var level2Number = level2CallNumbers[i];
                if (!level2Answers.Contains(level2Number) && Convert.ToInt32(level2Number.Number) / 100 == Convert.ToInt32(level2CallNumberNode.Data.Number) / 100)
                {
                    level2Answers.Add(level2Number);
                }
                i++;
            }

            i = 0;
            level3CallNumbers = level3CallNumbers.OrderBy(x => random.Next()).ToList();
            List <CallNumber> level3Answers = new List <CallNumber>();

            level3Answers.Add(level3CallNumberNode.Data);
            string callNumber = level3CallNumberNode.Data.Number.Substring(0, 2);

            // Randomly generate call numbers according to what the level 3 actual answer is
            while (level3Answers.Count < 4)
            {
                int        lastDigit = random.Next(0, 10);
                CallNumber test      = new CallNumber()
                {
                    Number = callNumber + lastDigit.ToString(), Name = level3CallNumberNode.Data.Name
                };
                if (!level3Answers.Any(cn => cn.Number.Equals(test.Number)))
                {
                    level3Answers.Add(test);
                }
                i++;
            }

            // Order lists properly
            level1Answers = level1Answers.OrderBy(c => c.Number).ToList();
            level2Answers = level2Answers.OrderBy(c => c.Number).ToList();
            level3Answers = level3Answers.OrderBy(c => c.Number).ToList();

            List <CallNumber> correctAnswers = new List <CallNumber>()
            {
                level1CallNumberNode.Data, level2CallNumberNode.Data, level3CallNumberNode.Data
            };

            //Session variable name
            string lastUsedName = HttpContext.Session.GetString("Name");

            return(JsonConvert.SerializeObject(new
            {
                lastName = lastUsedName,
                randomCallNumber,
                level1Answers,
                level2Answers,
                level3Answers,
                correctAnswers
            }));
        }
Esempio n. 8
0
 //Precondition: None
 //Postcondition: A string is returned showing the book's details
 public override string ToString()
 {
     return("Title:  " + Title.ToString() + "\n" + "Author:  " + Author.ToString() + "\n" +
            "Publisher:  " + Publisher.ToString() + "\n" + "Copyright Year:  " + CopyrightYear.ToString() + "\n"
            + "Call Number:  " + CallNumber.ToString() + "\n" + "Checked Out Status: " + CheckedOutStatus.ToString());
 }
Esempio n. 9
0
        public void LoginToForm()
        {
            URLTEXT.Text = "開始....";
            webBrowser1.DocumentCompleted += browser_DocumentCompleted;
            VerifyWeb = "";
            try
            {
                if (richTextBox1.Text != "")
                {
                    CallNumber = textBox3.Text;
                    using (StreamWriter writetext = new StreamWriter(@"" + textBox2.Text + "\\state.txt"))
                    {
                        writetext.WriteLine("0");
                    }
                    String[] lines    = richTextBox1.Text.Split('\n');
                    String[] AcPw     = lines[0].Split(new string[] { "\t" }, StringSplitOptions.None);
                    String   Account  = AcPw[0];
                    String   Password = "";
                    String   Phone    = "";
                    if (AcPw.Length < 2)
                    {
                        Password = "******";
                    }
                    else
                    {
                        Password = AcPw[1];
                        Phone    = AcPw[2];
                    }
                    URLTEXT.Text  = Account + "取得Session....";
                    BeanfunClient = new BeanfunClient();
                    String sKey = GetSessionkey();
                    String aKey = RegularLogin(Account, Password, sKey);
                    URLTEXT.Text = Account + "登入中....";
                    NameValueCollection payload = new NameValueCollection();
                    payload.Add("SessionKey", sKey);
                    payload.Add("AuthKey", aKey);
                    Debug.WriteLine(sKey);
                    Debug.WriteLine(aKey);
                    Debug.WriteLine(BeanfunClient.ResponseHeaders);

                    BFToken = BeanfunClient.GetCookie("bfWebToken");
                    if (BeanfunClient.webtoken == "")
                    {
                        MessageBox.Show("NoWebToken");
                        myThread.Abort();
                    }
                    NewUrl = "https://tw.beanfun.com/beanfun_block/auth.aspx?channel=game_zone&page_and_query=game_start.aspx%3Fservice_code_and_region%3D610096_TE&web_token=" + BFToken;
                    webBrowser1.Navigate(NewUrl);
                    URLTEXT.Text = Account + "轉跳中....";
                    Thread.Sleep(1000);

                    ASPCookie = GetCookies(NewUrl).Split(new string[] { "ASP.NET_SessionId=" }, StringSplitOptions.None)[1].Split(';')[0];;


                    RunTime     = RunTime + 1;
                    label9.Text = (ErrorTime).ToString() + "/" + RunTime.ToString();
                    if (!IsBeanfun)
                    {
                        String URL = "https://www.fakemyphone.com.tw/ajax.php?task=call";
                        NameValueCollection myParameters = new NameValueCollection();
                        //myParameters.Add("anonym", "");
                        myParameters.Add("checkcountry", "true");
                        myParameters.Add("from", CallNumber);
                        myParameters.Add("fromcountry", "886");
                        //myParameters.Add("ischecked", "");
                        myParameters.Add("lang", "zh");
                        myParameters.Add("my", textBox1.Text);
                        myParameters.Add("mycountry", "1");
                        //myParameters.Add("soundcatid", "");
                        myParameters.Add("soundloop", "true");
                        //myParameters.Add("spam", "");
                        //myParameters.Add("speak", "");
                        //myParameters.Add("speaklang", "");
                        myParameters.Add("speakloop", "false");
                        myParameters.Add("terms", "true");
                        myParameters.Add("to", "+886985646637");
                        myParameters.Add("tocountry", "886");
                        //myParameters.Add("to2", "");
                        myParameters.Add("to2country", "886");
                        //myParameters.Add("to3", "");
                        myParameters.Add("to3country", "886");
                        //myParameters.Add("to4", "");
                        myParameters.Add("to4country", "886");
                        myParameters.Add("usemyorweb", "my");
                        //myParameters.Add("voice", "");
                        try
                        {
                            URLTEXT.Text = Encoding.UTF8.GetString(FakeMyPhone.UploadValues(URL, myParameters));
                            if (URLTEXT.Text.Split(new string[] { "你没有足够的积分呼叫所有接收者" }, StringSplitOptions.None).Length > 1)
                            {
                                URLTEXT.Text    = "沒錢了........";
                                button1.Enabled = true;
                                button2.Enabled = false;
                                using (StreamWriter writetext = new StreamWriter(@"" + textBox2.Text + "\\state.txt"))
                                {
                                    writetext.WriteLine("3");
                                }
                                return;
                            }
                        }
                        catch (Exception Exc) {
                            URLTEXT.Text = "等待重新開始...撥電話" + Exc.Message;
                            Thread.Sleep(300000);
                            rsThread();
                            Thread.Sleep(1000);
                        }

                        webBrowser1.Navigate("https://tw.beanfun.com/TW/auth.aspx?channel=member&page_and_query=default.aspx%3Fservice_code%3D999999%26service_region%3DT0&web_token=" + BFToken);
                        Thread.Sleep(1000);
                        webBrowser1.Navigate("https://tw.beanfun.com/TW/locales/zh-TW/contents/member/verify_phone.aspx");
                        while (VerifyWeb == "")
                        {
                        }
                        String[] Veifys    = VerifyWeb.Split(new string[] { " font-weight: bold;\">" }, StringSplitOptions.None);
                        String[] Veifysn   = VerifyWeb.Split(new string[] { "var verify_sn = " }, StringSplitOptions.None);
                        String   Verify    = "";
                        String   verify_sn = "";
                        if (Veifys.Length > 2 && Veifysn.Length > 1)
                        {
                            Verify    = Veifys[2].Split('<')[0];
                            verify_sn = Veifysn[1].Split(';')[0];
                        }
                        else
                        {
                            Veifys    = VerifyWeb.Split(new string[] { "id=\"ctl00_ContentPlaceHolder1_lblPassword\">" }, StringSplitOptions.None);
                            Verify    = Veifys[1].Split('<')[0];
                            verify_sn = Veifysn[1].Split(';')[0];
                        }
                        using (StreamWriter writetext = new StreamWriter(@"" + textBox2.Text + "\\verify.txt"))
                        {
                            writetext.WriteLine(Verify);
                        }
                        using (StreamWriter writetext = new StreamWriter(@"" + textBox2.Text + "\\state.txt"))
                        {
                            writetext.WriteLine("1");
                        }
                        URLTEXT.Text = "驗證碼:" + Verify + " 撥號中...";

                        int Error = 0;
CheckStatus:
                        try
                        {
                            Error++;
                            string   response   = FakeMyPhone.DownloadString("https://www.fakemyphone.com.tw/fake-call/history");
                            String[] FakeNumber = response.Split(new string[] { "<td>" + CallNumber.Split('+')[1] }, StringSplitOptions.None);
                            while (FakeNumber.Length <= 1)
                            {
                                Thread.Sleep(500);
                                response   = FakeMyPhone.DownloadString("https://www.fakemyphone.com.tw/fake-call/history");
                                FakeNumber = response.Split(new string[] { "<td>" + CallNumber.Split('+')[1] }, StringSplitOptions.None);
                            }
                            String BFNumber = FakeNumber[1].Split(new string[] { "</font><br>886985646637" }, StringSplitOptions.None)[0];
                            if (BFNumber.Split(new string[] { "green" }, StringSplitOptions.None).Length <= 1 && Error <= 130)
                            {
                                goto CheckStatus;
                            }
                            else
                            {
                                Error        = 0;
                                URLTEXT.Text = "橘子已接電話....";
                                using (StreamWriter writetext = new StreamWriter(@"" + textBox2.Text + "\\state.txt"))
                                {
                                    writetext.WriteLine("2");
                                }
                            }
                        }
                        catch (Exception ex) {
                            URLTEXT.Text = "等待重新開始...讀電話" + ex.Message;
                            Thread.Sleep(300000);
                            rsThread();
                            Thread.Sleep(1000);
                        }
                        while (Error <= 15)
                        {
                            Thread.Sleep(2000);
                            c = new RestClient("https://tw.beanfun.com/TW/locales/zh-TW/contents/member/verify_phone_check.ashx?sn=" + verify_sn + "&step=296");
                            r = new RestRequest(Method.GET);
                            c.CookieContainer = new CookieContainer();
                            c.CookieContainer.Add(new Cookie("ASP.NET_SessionId", ASPCookie, "", "tw.beanfun.com"));
                            d = c.Execute(r);
                            String[] success = d.Content.Split(new string[] { "<result><code>1</code><desc>" }, StringSplitOptions.None);
                            if (success.Length > 1)
                            {
                                richTextBox2.AppendText(Account + "\t" + Password + "\t" + success[1].Split(new string[] { "</desc></result>" }, StringSplitOptions.None)[0] + "\n");
                                Path       = @"" + textBox2.Text + "\\驗證成功.txt";
                                YourString = Account + "\t" + Password + "\t" + success[1].Split(new string[] { "</desc></result>" }, StringSplitOptions.None)[0] + Environment.NewLine;
                                File.AppendAllText(Path, YourString);
                                URLTEXT.Text = "驗證成功";
                                goto NewAc;
                            }
                            else
                            {
                                Error = Error + 1;
                            }
                        }
                        string ErroMSG = d.Content.Split(new string[] { "<desc>" }, StringSplitOptions.None)[1].Split(new string[] { "</desc>" }, StringSplitOptions.None)[0];
                        URLTEXT.Text = ErroMSG;
                        String Fake09Phone = CallNumber.Split(new string[] { "886" }, StringSplitOptions.None)[1];
                        richTextBox3.AppendText(Account + "\t" + Password + "\t0" + Fake09Phone + "\t" + ErroMSG + "\n");
                        Path       = @"" + textBox2.Text + "\\驗證失敗.txt";
                        YourString = Account + "\t" + Password + Environment.NewLine;
                        File.AppendAllText(Path, YourString);
                        ErrorTime  += 1;
                        label9.Text = (ErrorTime).ToString() + "/" + RunTime.ToString();
NewAc:
                        using (StreamWriter writetext = new StreamWriter(@"" + textBox2.Text + "\\state.txt"))
                        {
                            writetext.WriteLine("3");
                        }

                        int j = 0;
                        using (StreamWriter writetext = new StreamWriter(@"" + textBox2.Text + "\\驗證列表.txt"))
                        {
                            foreach (var line in lines)
                            {
                                if (j == 0)
                                {
                                    richTextBox1.Text = "";
                                }
                                else
                                {
                                    richTextBox1.Text += line;

                                    writetext.WriteLine(line);
                                    if (j != lines.Count() - 1)
                                    {
                                        richTextBox1.Text += '\n';
                                    }
                                }
                                j++;
                            }
                        }

                        richTextBox3.SelectionStart = richTextBox3.Text.Length;
                        richTextBox3.ScrollToCaret();
                        richTextBox2.SelectionStart = richTextBox2.Text.Length;
                        richTextBox2.ScrollToCaret();
                        textBox3.Text = "+886" + (Int64.Parse(CallNumber.Split(new string[] { "+886" }, StringSplitOptions.None)[1]) + 1).ToString();

                        SetSetting("Wait", richTextBox1.Text);
                        SetSetting("Success", richTextBox2.Text);
                        SetSetting("Error", richTextBox3.Text);
                        SetSetting("Faker", textBox3.Text);

                        string[] state = System.IO.File.ReadAllLines(@"" + textBox2.Text + "\\state.txt");
                        while (state[0] != "0")
                        {
                            Thread.Sleep(500);
                            state = System.IO.File.ReadAllLines(@"" + textBox2.Text + "\\state.txt");
                        }

                        if (RunTime <= 10)
                        {
                            if (ErrorTime >= 3)
                            {
                                using (StreamWriter writetext = new StreamWriter(@"" + textBox2.Text + "\\state.txt"))
                                {
                                    writetext.WriteLine("3");
                                }
                                URLTEXT.Text = "因10隻內3隻失敗,故停止。";
                                return;
                            }
                        }
                        else
                        {
                            if ((ErrorTime * 100 / RunTime) >= 30)
                            {
                                using (StreamWriter writetext = new StreamWriter(@"" + textBox2.Text + "\\state.txt"))
                                {
                                    writetext.WriteLine("3");
                                }
                                URLTEXT.Text = "成功率低於3成,故停止。";
                                return;
                            }
                        }
                        URLTEXT.Text = "等待中...";
                        Thread.Sleep(30000);
                        LoginToForm();
                    }
                    else
                    {
                        if (success == false)
                        {
                            int sTime = 0;
                            for (var i = 1; i <= 5; i++)
                            {
                                var success = false;
                                while (success == false)
                                {
                                    URLTEXT.Text = Account + "-" + i.ToString() + "創建中....";
                                    var client  = new RestClient("https://tw.beanfun.com/generic_handlers/gamezone.ashx");
                                    var request = new RestRequest(Method.POST);
                                    client.CookieContainer = new CookieContainer();
                                    client.CookieContainer.Add(new Cookie("ASP.NET_SessionId", ASPCookie, "", "tw.beanfun.com"));
                                    request.AddParameter("multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW", "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"npsc\"\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"npsr\"\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"sadn\"\r\n\r\n" + i.ToString() + "\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"sag\"\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"sc\"\r\n\r\n610096\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"sr\"\r\n\r\nTE\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"strFunction\"\r\n\r\nAddServiceAccount\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--", ParameterType.RequestBody);

                                    IRestResponse responses = client.Execute(request);
                                    try
                                    {
                                        JObject obj = JsonConvert.DeserializeObject <JObject>(responses.Content);
                                        if (Convert.ToInt32(obj["intResult"].ToString()) == 1)
                                        {
                                            URLTEXT.Text = Account + "_" + i.ToString() + "新增成功";
                                            success      = true;
                                            richTextBox2.AppendText(Account + "_" + i.ToString() + "\t" + Password + "\n");
                                            sTime++;
                                        }
                                        else
                                        {
                                            if (obj["strOutstring"].ToString() == "Game account already exists")
                                            {
                                                success      = true;
                                                URLTEXT.Text = Account + "_" + i.ToString() + "此帳號已經創建";
                                                richTextBox3.AppendText(Account + "_" + i.ToString() + "\t" + Password + "\t此帳號已經創建\n");
                                                ErrorTime++;
                                                break;
                                            }
                                            if (obj["strOutstring"].ToString() == "Maximum application reached")
                                            {
                                                success      = true;
                                                URLTEXT.Text = Account + "_" + i.ToString() + "此帳號已經滿了";
                                                richTextBox3.AppendText(Account + "_" + i.ToString() + "\t" + Password + "\t此帳號已經滿了\n");
                                                ErrorTime++;
                                                break;
                                            }
                                        }
                                    }
                                    catch (Exception ex)
                                    {
                                        //richTextBox3.Text += (Account + "_" + i.ToString() + " " + ex.Message + "\n");
                                    }
                                    richTextBox3.SelectionStart = richTextBox3.Text.Length;
                                    richTextBox3.ScrollToCaret();
                                    richTextBox2.SelectionStart = richTextBox2.Text.Length;
                                    richTextBox2.ScrollToCaret();
                                    SetSetting("Success", richTextBox2.Text);
                                    SetSetting("Error", richTextBox3.Text);
                                }
                            }
                            success = false;
                            if (sTime == 5)
                            {
                                Path = @"" + textBox2.Text + "\\子號成功.txt";
                            }
                            else
                            {
                                Path = @"" + textBox2.Text + "\\子號失敗.txt";
                            }

                            YourString = Account + "\t" + Password + "\t" + Phone + Environment.NewLine;
                            File.AppendAllText(Path, YourString);

                            webBrowser1.Navigate(NewUrl);

                            int j = 0;
                            using (StreamWriter writetext = new StreamWriter(@"" + textBox2.Text + "\\子號列表.txt"))
                            {
                                foreach (var line in lines)
                                {
                                    if (j == 0)
                                    {
                                        richTextBox1.Text = "";
                                    }
                                    else
                                    {
                                        richTextBox1.Text += line;

                                        writetext.WriteLine(line);
                                        if (j != lines.Count() - 1)
                                        {
                                            richTextBox1.Text += '\n';
                                        }
                                    }
                                    j++;
                                }
                            }
                            SetSetting("Wait", richTextBox1.Text);
                            URLTEXT.Text = "等待中...";
                            Thread.Sleep(10000);
                            LoginToForm();
                        }
                    }
                }
                else
                {
                    URLTEXT.Text    = "完成";
                    button1.Enabled = true;
                    button2.Enabled = false;
                    using (StreamWriter writetext = new StreamWriter(@"" + textBox2.Text + "\\state.txt"))
                    {
                        writetext.WriteLine("3");
                    }
                    return;
                }
            }
            catch (Exception exception)
            {
                if (exception.Message != "執行緒已經中止。")
                {
                    URLTEXT.Text = "Crash了..." + exception.Message;
                    using (StreamWriter writetext = new StreamWriter(@"" + textBox2.Text + "\\state.txt"))
                    {
                        writetext.WriteLine("3");
                    }

                    button1.Enabled = true;
                    button2.Enabled = false;
                }
            }
        }