杭州驾驶员模拟预约 监控工具 插队工具(准)- 请直接联系作者 QQ 4-1-2-5-8-8-8-0-1

简介: 程序说明: 针对杭州市机动车驾驶员模拟培训预约难的问题,本人开发了此监视工具。 此监视工具仅负责监视某段时间内在线预约网站是否可以预约模拟培训。 只是提示用户某日可以预约, 不会帮助用户进行预约, 更不会收集用户的身份信息。

程序说明:

针对杭州市机动车驾驶员模拟培训预约难的问题,本人开发了此监视工具。

此监视工具仅负责监视某段时间内在线预约网站是否可以预约模拟培训。

只是提示用户某日可以预约,

不会帮助用户进行预约,

更不会收集用户的身份信息。

使用说明:  

 使用前请先确认电脑可以访问互联网  

使用前请先联系作者激活程序!作者QQ 4-1-2-5-8-8-8-0-1

 1.选择监视截止日期(程序将监视当前时间与此日期之间的时间段)

 2.选择“阶段一”,“阶段二”(即你要预约那个阶段的模拟培训)

 3.点击开始监视,系统将执行监视。

4.点击退出,系统将停止监视,并退出

 5.点击最小化到托盘,系统将继续监视并最小化到托盘。  

如果在此时间段内,有可以预约的机会,

程序将弹出窗口提示用户,并为用户打开网页。

 ----------------------

因为需要监视报名网站~部分安全软件可能会报毒~请放心使用~

--------------------------------------------------------

代码没做任何整理

一气呵成

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Net;
using System.IO;
using System.Text.RegularExpressions;

namespace XQCHack
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            System.Environment.Exit(0);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            this.ShowInTaskbar = false;
            notifyIcon1.Visible = true;
        }

        private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            this.Visible = true;
            this.ShowInTaskbar = true;
            notifyIcon1.Visible = false;
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            try
            {
                int sj = Convert.ToInt32(textBox2.Text.Trim());
                if (sj < 1)
                {
                    throw new Exception();
                }
            }
            catch
            {
                MessageBox.Show("请填写有效的监视时间间隔,应大于1分钟。");
                return;
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            dateTimePicker1.MinDate = DateTime.Now;
            //dateTimePicker1.Value = DateTime.Now.AddMonths(1);
            dateTimePicker1.Value = Convert.ToDateTime("2011-09-19");
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Thread t = new Thread(new ThreadStart(myThread));
            t.Start();
        }

        private void myThread()
        {
            int queryTimeSpan = Convert.ToInt32(textBox2.Text.Trim());
            DateTime lastTime = DateTime.Now;
            int queryNum = 0;
            var nameArr = new string[8];
            var urlArr = new string[8];
            var personNumArr = new int[8];

            nameArr[0] = "公交驾校";
            nameArr[1] = "宝捷公司";
            nameArr[2] = "新塘驾校";
            nameArr[3] = "铁路驾校";
            nameArr[4] = "水星阁";
            nameArr[5] = "杭汽校";
            nameArr[6] = "浙江经职";
            nameArr[7] = "交通职高";

            for (var i = 1; i <= 6; i++)
            {
                urlArr[i - 1] = string.Format("http://www.qc5qc.com/xqc/mlpxmore.php?searchbh=00{0}", i);
            }
            urlArr[6] = "http://www.qc5qc.com/xqc/mlpxmore.php?searchbh=008";
            urlArr[7] = "http://www.qc5qc.com/xqc/mlpxmore.php?searchbh=011";

            personNumArr[0] = 84;
            personNumArr[1] = 90;
            personNumArr[2] = 75;
            personNumArr[3] = 48;
            personNumArr[4] = 84;
            personNumArr[5] = 78;
            personNumArr[6] = 66;
            personNumArr[7] = 69;

            while (true)
            {
                try
                {
                    myQuery(dateTimePicker1.Value, nameArr, urlArr, personNumArr);
                }
                catch
                {
 
                }
                queryTimeSpan = Convert.ToInt32(textBox2.Text.Trim());
                lastTime = DateTime.Now;
                queryNum += 1;
                label4.Invoke(
                    new Action(() =>
                    {
                        label4.Text = queryNum.ToString();
                    })
                );
                System.Threading.Thread.Sleep(queryNum * queryTimeSpan * 60 * 1000);
            }
        }
        static Regex reg = new Regex(@"(?<=<li.*?>).*?(?=人)");
        private void myQuery(DateTime enddate, string[] nameArr, string[] urlArr, int[] personNumArr)
        {
            for (var j = 0; j < 8; j++)
            {
                HttpWebRequest request = WebRequest.Create(urlArr[j]) as HttpWebRequest;
                HttpWebResponse response = request.GetResponse() as HttpWebResponse;
                Stream stream = response.GetResponseStream();
                StreamReader reader = new StreamReader(stream, Encoding.Default);
                string html = reader.ReadToEnd();
                stream.Close();
                var matches = reg.Matches(html);
                for (var i = 0; i < matches.Count; i++)
                {
                    var matchStr = matches[i].Value;
                    var matchArr = matchStr.Split("  阶段一已预约:".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                    var num = Convert.ToInt32(matchArr[1]);
                    if (Convert.ToDateTime(matchArr[0]) >= enddate)
                    {
                        break;
                    }
                    if (num < personNumArr[j] && num != 0)
                    {
                        System.Diagnostics.Process.Start(urlArr[j]);
                        var alertStr = string.Format("恭喜你!{0}{1}的预约还没有满~要抓紧时间啊!{2}现在给你打开这个网址",
                                nameArr[j],
                                matchArr[0],
                                System.Environment.NewLine
                            );
                        MessageBox.Show(alertStr);
                        System.Environment.Exit(0);
                    }
                }
            }
        }

    }
}

  

目录
相关文章
|
6月前
|
JavaScript Java 测试技术
基于Java的校园驿站全天候辅助取货管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的校园驿站全天候辅助取货管理系统的设计与实现(源码+lw+部署文档+讲解等)
51 4
|
12月前
|
安全 前端开发 Java
【开题报告】基于SpringBoot的演唱会门票在线预定系统的设计与实现
【开题报告】基于SpringBoot的演唱会门票在线预定系统的设计与实现
354 0
|
数据可视化 数据挖掘
评论情感分析:2020年东京奥运会的微博用户数据 分析可视化 完整代码+数据 可直接运行
评论情感分析:2020年东京奥运会的微博用户数据 分析可视化 完整代码+数据 可直接运行
94 0
|
Java 程序员 开发者
太卷了!这份Java性能调优手册仅上线1小时,竟被恶意封杀下架
在各大厂的面试中,性能优化的问题肯定不会缺席,这足以说明其重要性。今天给大家带来的便是由资深程序员葛一鸣老师写的《Java程序性能优化实战》,同样是没有开源版本,我会将领取方式放在文末 Java程序性能优化实战 我看过几篇讲解Java程序性能优化的图书,要么是内容不够深入,要么是过于晦涩难懂,不够浅显,而这本书却让我眼前一亮,很多困扰我的问题都能在书中找到答案。它涵盖了各种程序员所需的性能优化知识点,是Java开发者提升水平的必读佳作 来看看目录内容,里面一定有你想看的 亮个相吧(狗头.jpg) 想要更进一步的Java开发者一定不能
88 0
|
算法 计算机视觉
【OpenCV图像处理11】车辆统计项目
【OpenCV图像处理11】车辆统计项目
164 0
|
SQL 监控 数据库
【乌拉喵.教程】“多负载识别监控平台(上位机)”技术细节 之Unit2-Form2用户电量查询显示界面
【乌拉喵.教程】“多负载识别监控平台(上位机)”技术细节 之Unit2-Form2用户电量查询显示界面
|
缓存 数据可视化 前端开发
教程】天气预报应用集成台风信息功能的探讨
通过本教程,我们探讨了如何将台风信息功能集成到天气预报应用中。通过提供台风信息,我们可以帮助用户更好地了解台风的动态和可能影响的地区,提供更全面的天气信息,帮助用户做出明智的决策。希望本教程对你在开发天气预报应用时集成台风信息功能有所帮助!
186 0
|
存储 Java 关系型数据库
沐歌保健院线上预约按摩系统的设计与实现(论文+源码)_kaic
本论文详细概述了沐歌保健院线上预约按摩系统设计实现的全过程,该系统基于Java语言、JSP技术设计等技术进行编写,运用 B/S 架构,采取MySQL数据库技术来存储必要信息。具有包括系统个人中心、用户管理、技师管理、排班管理、采购申请管理、项目管理、系统管理等功能模块。此系统允许三种身份登录:技师、管理人员、用户。用户可以预约下单自己需要的项目;技师则可以接单、查看排版表等信息来完成自己的职责;管理人员则是负责整体系统内信息的增删改查,使线下实体店和网络上的人员构成、项目排班的保持一致。
|
小程序 JavaScript 搜索推荐
社区老年人义务服务预约小程序的设计与实现(论文+源码)_kaic
本文主要介绍了基于Spring Boot和Vue技术的社区老年人义务服务预约小程序的设计和实现。该小程序旨在为老年人提供更加便捷、快速的预约社区义务服务的途径,同时也方便社区工作人员进行服务管理和统计。 在设计和实现过程中,我们主要分为后台管理模块和小程序端两个部分。后台管理模块包括登录、首页、轮播图管理、社区老人管理、社区服务管理和系统管理等功能,可以方便地进行服务的管理和统计。小程序端则包括首页、大厅和我的三个部分,用户可以浏览最新的服务、预约服务并查看预约记录等。
|
存储 算法 编译器
实时驾驶员状态检测(毕业设计+代码)
实时驾驶员状态检测(毕业设计+代码)