private void button1_Click(object sender, EventArgs e) { if (checkBox4.Checked) { string[] strs = { textBox3.Text.ToString() }; File.WriteAllLines(@"telnumber.txt", strs); } if (config.checkBox1.Checked) { Run.only_window = true; } else { Run.only_window = false; } if (config.checkBox2.Checked) { Run.only_computer = true; } else { Run.only_computer = false; } if (button1.Text == "开始抢座") { comboBox1.Enabled = false; comboBox2.Enabled = false; comboBox3.Enabled = false; comboBox4.Enabled = false; comboBox5.Enabled = false; button1.Enabled = false; //保存配置信息 string[] strsC = { config.comboBox4.SelectedIndex.ToString(), config.comboBox5.SelectedIndex.ToString(), config.comboBox1.SelectedIndex.ToString(), config.comboBox2.SelectedIndex.ToString(), config.comboBox3.SelectedIndex.ToString() }; File.WriteAllLines(@"configuration.txt", strsC); backgroundWorker2.RunWorkerAsync(); RushSeat.stop_waiting = false; Run.roomID = comboBox4.SelectedValue.ToString(); Run.startTime = comboBox2.SelectedValue.ToString(); Run.endTime = comboBox3.SelectedValue.ToString(); //在22:45之前预约明天的 if (Config.config.comboBox1.SelectedIndex == 1 && DateTime.Compare(DateTime.Now, Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " 22:44:50")) < 0) { button1.Text = "结束等待"; Run.date = comboBox1.SelectedValue.ToString(); //防止系统拥堵,不同等级加入不同延迟 Random rd = new Random(); /****这里保留了对D级用户的尊重****/ //if (rank == 'C') // Run.waitsecond = rd.Next(7, 10); // //else if (rank == 'A') // Run.waitsecond = 0; //else if (rank == 'B') // Run.waitsecond = rd.Next(3, 5); // //else //{ // Run.waitsecond = 3600; //} //RushSeat.Wait("22", "45", Run.waitsecond.ToString()); textBox1.AppendText("将于22:44:50重新获取登录令牌\r\n"); RushSeat.Wait("22", "44", "50"); Thread.Sleep(1000); //如果是用户停止等待 if (RushSeat.stop_waiting) { //RushSeat.stop_waiting = false; return; } //正常等待结束,重新登录 string response = RushSeat.GetToken(true); if (response == "Success") { textBox1.AppendText("重新获取登录令牌成功!\r\n"); if (rank == 'A') { RushSeat.WaitNew("22", "44", "59"); } else { //18-12-24 现在所有用户处于同一起跑线上 RushSeat.WaitNew("22", "44", "59"); } //极速模式,此模式下不作任何其它判断,直接抢想要的座位 if (comboBox4.SelectedIndex != 0 && comboBox4.SelectedIndex != 1 && comboBox4.SelectedIndex != 2 && comboBox5.SelectedIndex != 0 && checkBox6.Checked == true) { for (int i = 0; i < 20; i++) { if (RushSeat.BookSeat(comboBox5.SelectedValue.ToString(), Run.date, Run.startTime, Run.endTime) == "Success") { //textBox1.AppendText("急速模式下抢座成功!\r\n"); //静默检查预约信息,激活释放按钮 RushSeat.CheckHistoryInf(false); //窗口弹出 if (Config.config.Visible != true) { Config.config.Visible = true; } Config.config.WindowState = FormWindowState.Normal; //发短信 if (Config.config.checkBox4.Checked) { Config.config.textBox1.AppendText("短信已发送,返回值:\r\n" + RushSeat.SendMessage() + "\r\n"); Config.config.textBox1.AppendText("若返回值小于0为发送失败,请联系开发者\r\n"); Config.config.textBox1.AppendText("------------------------------------------\r\n"); } if (Config.config.checkBox3.Checked) { Config.config.textBox1.AppendText("2min后自动关机\r\n"); Config.config.textBox1.AppendText("如果想取消自动关机请在桌面用快捷键win + R启动控制台, 在控制台自行输入 shutdown -a\r\n"); Config.config.textBox1.AppendText("-----------------------------------------------------\r\n"); Process.Start("shutdown.exe", "-s -t " + "120"); } else { //Config.config.textBox1.AppendText("订座成功"); } Config.config.button1.Text = "开始抢座"; Config.config.comboBox1.Enabled = true; Config.config.comboBox2.Enabled = true; Config.config.comboBox3.Enabled = true; Config.config.comboBox4.Enabled = true; Config.config.comboBox5.Enabled = true; return; } //0.5s后再次尝试抢倾向座位 textBox1.AppendText("急速抢座失败,0.5s后再次尝试..."); Thread.Sleep(500); } textBox1.AppendText("急速抢座失败,转入普通模式"); } //如果是用户停止等待 if (RushSeat.stop_waiting) { //RushSeat.stop_waiting = false; return; } //启动抢座进程 Run.Start(); } else { textBox1.AppendText("重新获取登录令牌失败,相应信息如下:\r\n"); textBox1.AppendText(response); } } //在1点之前预约今天的 else if (DateTime.Compare(DateTime.Now, Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " 01:00:00")) < 0 && Config.config.comboBox1.SelectedIndex == 0) { button1.Text = "结束等待"; Run.date = comboBox1.SelectedValue.ToString(); Random rd = new Random(); if (rank == 'C') { Run.waitsecond = rd.Next(7, 10); } else if (rank == 'A') { Run.waitsecond = rd.Next(0, 2); } else if (rank == 'B') { Run.waitsecond = rd.Next(3, 5); } else { Run.waitsecond = 3600; } RushSeat.Wait("01", "00", Run.waitsecond.ToString()); //如果是用户停止等待 if (RushSeat.stop_waiting) { //RushSeat.stop_waiting = false; return; } //正常等待结束,重新登录 string response = RushSeat.GetToken(true); if (response == "Success") { textBox1.AppendText("再次登录成功!\r\n"); Run.Start(); } else { textBox1.AppendText(response); } } //在1:00 之后 22:00之前预约今天的 else if (DateTime.Compare(DateTime.Now, Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " 01:00:00")) > 0 && DateTime.Compare(DateTime.Now, Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " 22:00:00")) < 0 && Config.config.comboBox1.SelectedIndex == 0) { button1.Text = "结束抢座"; Run.date = comboBox1.SelectedValue.ToString(); Run.Start(); } //在22:45之后 23:50之前预约明天的 else if (DateTime.Compare(DateTime.Now, Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " 22:45:00")) > 0 && Config.config.comboBox1.SelectedIndex == 1 && DateTime.Compare(DateTime.Now, Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " 23:50:00")) < 0) { button1.Text = "结束抢座"; Run.date = comboBox1.SelectedValue.ToString(); Run.Start(); } //在23:50后预约明天的 else if (DateTime.Compare(DateTime.Now, Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " 23:50:00")) > 0) { textBox1.AppendText("预约时间已过"); } return; } if (button1.Text == "结束等待") { comboBox1.Enabled = true; comboBox2.Enabled = true; comboBox3.Enabled = true; comboBox4.Enabled = true; comboBox5.Enabled = true; button1.Enabled = false; backgroundWorker2.RunWorkerAsync(); RushSeat.CheckHistoryInf(false); RushSeat.stop_waiting = true; button1.Text = "开始抢座"; return; } if (button1.Text == "结束抢座") { comboBox1.Enabled = true; comboBox2.Enabled = true; comboBox3.Enabled = true; comboBox4.Enabled = true; comboBox5.Enabled = true; button1.Enabled = false; backgroundWorker2.RunWorkerAsync(); RushSeat.CheckHistoryInf(false); RushSeat.stop_rush = true; button1.Text = "开始抢座"; return; } }
private void button1_Click(object sender, EventArgs e) { RushSeat.studentID = textBox1.Text.ToString(); RushSeat.password = textBox2.Text.ToString(); if (checkBox1.Checked) { string[] strs = { DES.EncryptDES(textBox1.Text.ToString(), "shAurora"), DES.EncryptDES(textBox2.Text.ToString(), "shAurora") }; File.WriteAllLines(@"userInfo.txt", strs); } Hide(); Config config = new Config(); config.Show(); string response = "empty"; int tryNum = 1, col = 0; while (response != "Success" && tryNum != 5) { response = RushSeat.GetToken(true); if (response == "Success") { //Hide(); //Config config = new Config(); //config.Show(); col = 1; config.textBox1.AppendText("登录成功!\n"); Config.config.textBox1.AppendText("---------------------------------------\n"); //获取各个房间的座位列表 config.comboBox4.SelectedIndex = 0; config.comboBox2.SelectedIndex = 4; //默认10点开始 config.comboBox1.SelectedIndex = 1; //加载 if (File.Exists(@"configuration.txt")) { Config.strC = File.ReadAllLines(@"configuration.txt"); config.comboBox4.SelectedIndex = Convert.ToInt32(Config.strC[0]); config.comboBox5.SelectedIndex = Convert.ToInt32(Config.strC[1]); config.comboBox1.SelectedIndex = Convert.ToInt32(Config.strC[2]); config.comboBox2.SelectedIndex = Convert.ToInt32(Config.strC[3]); config.comboBox3.SelectedIndex = Convert.ToInt32(Config.strC[4]); } RushSeat.GetUserInfo(); if (RushSeat.CheckHistoryInf(true) == "NO") { config.textBox1.AppendText("当前无有效预约\n"); } else //已经有有效预约 { } Config.config.textBox1.AppendText("剩余可发送短信数目:" + RushSeat.GetSMSNum() + "\n"); Config.config.textBox1.AppendText("---------------------\n"); } else { config.textBox1.AppendText("第" + tryNum + "次登录失败,3s后重试\n"); config.textBox1.AppendText("[info]" + response + "\n"); for (int i = 0; i < 10; i++) { Application.DoEvents(); //防止控件假死 Thread.Sleep(300); } tryNum++; } } if (col == 0) { config.textBox1.AppendText("尝试登录失败次数过多,请检查网络连接或服务器状态"); } }