Ejemplo n.º 1
0
        private void dpanduoxiancheng_Click(object sender, EventArgs e)
        {
            apkName = dict["明日方舟"];
            int[]  yunxingIndex = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
            string a_b          = "d";

            qdinit(a_b);
            for (int j = 1; j < 1000; j++)
            {
                WriteLog.WriteLogFile("", "序号" + j + ",开始");
                Thread.Sleep(2000);
                ThreadPool.SetMaxThreads(yunxingIndex.Length, yunxingIndex.Length); //设置最大线程数
                foreach (int inx in yunxingIndex)
                {
                    ThreadPool.QueueUserWorkItem(new WaitCallback(duoxiand), inx);//线程池指定线程执行Auto方法
                    Thread.Sleep(20000);
                }
                var ks = MyFuncUtil.GetTimestamp();
                var xs = false;
                while (true)
                {
                    Thread.Sleep(10000);//这句写着,主要是没必要循环那么多次。去掉也可以。
                    int maxWorkerThreads, workerThreads;
                    int portThreads;
                    ThreadPool.GetMaxThreads(out maxWorkerThreads, out portThreads);
                    ThreadPool.GetAvailableThreads(out workerThreads, out portThreads);
                    if (maxWorkerThreads - workerThreads == 0)
                    {
                        break;
                    }
                    var js = MyFuncUtil.GetTimestamp();
                    if ((js - ks) > 1000 * 60 * 10)
                    {
                        xs = true;
                    }
                    if (xs)
                    {
                        MyFuncUtil.mylogandxianshi("当前工作线程数" + workerThreads);
                        xs = false;
                        ks = MyFuncUtil.GetTimestamp();
                    }
                }

                WriteLog.WriteLogFile("", "序号" + j + ",结束");
            }

            /*foreach (int a in yunxingIndex)
             * {
             *  ParameterizedThreadStart threadStart = new ParameterizedThreadStart(duoxiand);//通过ThreadStart委托告诉子线程执行什么方法 
             *  Thread thread = new Thread(threadStart);
             *  thread.Start(a);
             *  Thread.Sleep(60000);
             *  if (a > 9)
             *  {
             *      Thread.Sleep(120000);
             *  }
             * }*/
        }
Ejemplo n.º 2
0
        private void foo()
        {
            var    ks           = MyFuncUtil.GetTimestamp();
            var    ks_gxyunxing = MyFuncUtil.GetTimestamp();
            var    ks_cqyunxing = MyFuncUtil.GetTimestamp();
            var    i            = 1;
            string zidong       = "";

            while (true)
            {
                Thread.Sleep(1000);
                var js = MyFuncUtil.GetTimestamp();
                i++;
                //MyFuncUtil.SecondToHour(+i + (js - ks) / 1000+" "
                CalcFinished("程序已运行:" + MyFuncUtil.SecondToHour(js - ks) + zidong);
                this.label1.ForeColor = Color.Red;
            }
        }
Ejemplo n.º 3
0
        private bool panduanzhandou(SanDian sd)
        {
            bool rs = false;
            long ks = -1;

            if (mf.mohuByLei(sd) == 1)
            {
                ks = MyFuncUtil.GetTimestamp();
            }
            long js = MyFuncUtil.GetTimestamp();

            if ((js - ks) > 1000 * 60 * 10)
            {
                MyFuncUtil.mylogandxianshi("10分钟未战斗");
                //截图
                rs = true;
            }
            return(rs);
        }
Ejemplo n.º 4
0
        private void foo()
        {
            var ks = MyFuncUtil.GetTimestamp();
            var i  = 1;

            while (true)
            {
                Thread.Sleep(1000);
                var js = MyFuncUtil.GetTimestamp();
                i++;
                //MyFuncUtil.SecondToHour(+i + (js - ks) / 1000+" "
                CalcFinished("程序已运行:" + MyFuncUtil.SecondToHour(js - ks));
                this.label2.ForeColor = Color.Red;
                if (1 != 1)
                {
                    //break;
                }
            }
        }
Ejemplo n.º 5
0
        private bool panduankaping(int x, int y, int chushi = 1)
        {
            bool   rs     = false;
            string yanse1 = null;
            long   ks     = -1;

            if (chushi == 1)
            {
                yanse1 = mf.myGetColorWuJbYanse(x, y);
                ks     = MyFuncUtil.GetTimestamp();
            }
            string yanse2 = mf.myGetColorWuJbYanse(x, y);
            long   js     = MyFuncUtil.GetTimestamp();

            if ((js - ks) > 1000 * 60 * 5 && yanse2.Equals(yanse1))
            {
                MyFuncUtil.mylogandxianshi("卡屏5分钟,取点x:" + x + ",y:" + y);
                //截屏
                rs = true;
            }
            return(rs);
        }
Ejemplo n.º 6
0
        public Boolean zhuce(int fz)
        {
            WriteLog.WriteLogFile(this._mnqName, "进入到注册环节-登录或注册" + " " + this._jubing);
            Boolean       zccg = false;
            int           tx = -1, ty = -1;
            DuoDianZhaoSe dz2 = new DuoDianZhaoSe(0x353636, "4|0|0xe79941,-3|0|0xd68334,10|19|0xf8b757,8|30|0xf9be66,28|49|0x9a9a9a,33|49|0x9a9a9a", 90, 40, 30, 95, 100);

            mf.myqudianqusezuobiaoByLei(this._jubing, dz2, out tx, out ty);
            if (tx != -1 && ty != -1)
            {
                long ks = MyFuncUtil.GetTimestamp();
                while (true)
                {
                    mf.myqudianqusezuobiaoByLei(this._jubing, dz2, out tx, out ty);
                    if (tx != -1 && ty != -1)
                    {
                        WriteLog.WriteLogFile(this._mnqName, "发现跳过实名");
                        mf.mytap(this._jubing, 80, 92);//点跳过实名
                    }
                    mf.myqudianqusezuobiao(this._jubing, 0xfffbef, "-2|-1|0xe7beba,-3|3|0xca7170,2|2|0xfdf1e7,4|0|0xca3836,-148|-2|0xcecfce,-166|-2|0xb42720", 90, 20, 0, 205, 20, out tx, out ty);
                    if (tx != -1 && ty != -1)
                    {
                        WriteLog.WriteLogFile(this._mnqName, "发现公告,关闭");
                        mf.mytap(this._jubing, tx, ty);
                    }
                    mf.myqudianqusezuobiao(this._jubing, 0xfeda2f, "-6|0|0xe8cc33,-9|0|0x3f2a01,-12|4|0xffd721,5|2|0x4a1800,11|3|0x743409,14|3|0xffd321", 90, 85, 90, 130, 110, out tx, out ty);
                    if (tx != -1 && ty != -1)
                    {
                        WriteLog.WriteLogFile(this._mnqName, "发现进入游戏");
                        mf.mytap(this._jubing, tx, ty);
                        mf.mydelay(4000, 8000);
                        mf.myqudianqusezuobiao(this._jubing, 0xfeda2f, "-6|0|0xe8cc33,-9|0|0x3f2a01,-12|4|0xffd721,5|2|0x4a1800,11|3|0x743409,14|3|0xffd321", 90, 85, 90, 130, 110, out tx, out ty);
                        if (tx == -1 && ty == -1)
                        {
                            zccg = true;
                            break;;
                        }
                    }
                    long jstime = MyFuncUtil.GetTimestamp();
                    if ((jstime - ks) > fz * 60 * 1000)
                    {
                        zccg = false;
                        WriteLog.WriteLogFile(this._mnqName, "注册环节-登录或注册-没有成功完成" + " " + this._jubing);
                        break;;
                    }
                }
                return(zccg);
            }
            ZhangHao zhanghao = new ZhangHao();
            string   name = null, pas = null;
            long     kstime = MyFuncUtil.GetTimestamp();
            int      td     = 0;

            while (true)
            {
                zhanghao.getNameAndPw(this._dqinx, out name, out pas);
                if (name == null && pas == null)
                {
                    if (td == 0)
                    {
                        zhanghao.generateNameAndPas(this._dqinx, 7, out name, out pas);
                        mf.mytap(this._jubing, 108, 64);//点账号注册
                        mf.mydelay(2000, 4000);
                        td = 1;
                    }
                    DuoDianZhaoSe dz = new DuoDianZhaoSe(0x5ecdf3, "-2|12|0x434343,-26|23|0x959595,-26|36|0x959595,-26|45|0xa8a8a8,-26|61|0x1eb9ee,-26|74|0xeb9300", 90, 75, 15, 115, 110);
                    mf.myqudianqusezuobiaoByLei(this._jubing, dz, out tx, out ty);
                    if (tx != -1 && ty != -1)
                    {
                        WriteLog.WriteLogFile(this._mnqName, "进入到账号注册界面");
                    }
                    else
                    {
                        WriteLog.WriteLogFile(this._mnqName, "meiyou进入到账号注册界面" + this._jubing);
                        return(zccg);
                    }
                    mf.mytap(this._jubing, 95, 45);
                    mf.mydelay(2000, 4000);
                    zhanghao.shuruchar(mf, this._dqinx, this._jubing, name);
                    mf.mytap(this._jubing, 91, 57);
                    mf.mydelay(2000, 4000);
                    zhanghao.shuruchar(mf, this._dqinx, this._jubing, pas);
                    mf.mydelay(2000, 4000);
                    if (mf.myGetColor(this._jubing, 136, 71, "1eb9ee"))
                    {
                        WriteLog.WriteLogFile(this._mnqName, "去掉绑定手机对号");
                        mf.mytap(this._jubing, 136, 71);
                        mf.mydelay(1000, 3000);
                    }
                    mf.mytap(this._jubing, 105, 98);
                    mf.mydelay(4000, 6000);
                    mf.myqudianqusezuobiaoByLei(this._jubing, dz, out tx, out ty);
                    if (tx != -1 && ty != -1)
                    {
                        WriteLog.WriteLogFile(this._mnqName, "上述操作完,还在账号注册界面");
                        continue;
                    }
                    while (true)
                    {
                        mf.myqudianqusezuobiaoByLei(this._jubing, dz2, out tx, out ty);
                        if (tx != -1 && ty != -1)
                        {
                            WriteLog.WriteLogFile(this._mnqName, "发现跳过实名");
                            mf.mytap(this._jubing, 80, 92);//点跳过实名
                        }
                        mf.myqudianqusezuobiao(this._jubing, 0xfffbef, "-2|-1|0xe7beba,-3|3|0xca7170,2|2|0xfdf1e7,4|0|0xca3836,-148|-2|0xcecfce,-166|-2|0xb42720", 90, 20, 0, 205, 20, out tx, out ty);
                        if (tx != -1 && ty != -1)
                        {
                            WriteLog.WriteLogFile(this._mnqName, "发现公告,关闭");
                            mf.mytap(this._jubing, tx, ty);
                        }
                        mf.myqudianqusezuobiao(this._jubing, 0xfeda2f, "-6|0|0xe8cc33,-9|0|0x3f2a01,-12|4|0xffd721,5|2|0x4a1800,11|3|0x743409,14|3|0xffd321", 90, 85, 90, 130, 110, out tx, out ty);
                        if (tx != -1 && ty != -1)
                        {
                            WriteLog.WriteLogFile(this._mnqName, "发现进入游戏");
                            mf.mytap(this._jubing, tx, ty);
                            mf.mydelay(4000, 8000);
                            mf.myqudianqusezuobiao(this._jubing, 0xfeda2f, "-6|0|0xe8cc33,-9|0|0x3f2a01,-12|4|0xffd721,5|2|0x4a1800,11|3|0x743409,14|3|0xffd321", 90, 85, 90, 130, 110, out tx, out ty);
                            if (tx == -1 && ty == -1)
                            {
                                zccg = true;
                                break;;
                            }
                        }
                        long js = MyFuncUtil.GetTimestamp();
                        if ((js - kstime) > fz * 60 * 1000)
                        {
                            WriteLog.WriteLogFile(this._mnqName, "没有能够发现进入游戏");
                            break;;
                        }
                    }
                }
                if (zccg == true)
                {
                    WriteLog.WriteLogFile(this._mnqName, "注册环节-登录或注册-成功完成" + " " + this._jubing);
                    break;;
                }
                long jstime = MyFuncUtil.GetTimestamp();
                if ((jstime - kstime) > fz * 60 * 1000)
                {
                    WriteLog.WriteLogFile(this._mnqName, "注册环节-登录或注册-没有成功完成" + " " + this._jubing);
                    break;;
                }
            }
            return(zccg);
        }
Ejemplo n.º 7
0
        private void duoxianxunhuan(string a_b, int dqinx, int xhcishu)
        {
            string dizhi = null;
            string path  = null;
            string seed  = null;

            MyFuncUtil.myqiehuancd(a_b, out dizhi, out path, out seed);
            //MyLdcmd.mySort(dizhi);
            var cishu   = 0;
            var cgcishu = 0;

            for (int cs = 0; cs < xhcishu; cs++)
            {
                var ks = MyFuncUtil.GetTimestamp();
                Thread.Sleep(2000);
                MyFuncUtil.mylogandxianshi("模拟器" + dqinx + "进入到循环当中");
                Thread.Sleep(1000);
                bool temp = false;
                if (!temp)
                {
                    MyFuncUtil.mylogandxianshi("模拟器" + dqinx + "关闭失败");
                    Thread.Sleep(20000);
                    continue;
                }
                MyFuncUtil.mylogandxianshi("模拟器" + dqinx + "复原");
                MyLdcmd.myRestore(dqinx, seed, dizhi);
                MyFuncUtil.mylogandxianshi("模拟器" + dqinx + "改名");
                MyLdcmd.myRename(dqinx, "雷" + dqinx + "-" + cgcishu, dizhi);
                temp = MyFuncUtil.Launch(dqinx, dizhi);
                if (!temp)
                {
                    MyFuncUtil.mylogandxianshi("模拟器" + dqinx + "打开失败");
                    Thread.Sleep(20000);
                    continue;
                }
                int i = MyFuncUtil.QiDongWanChengInx(a_b, dqinx, apkName);
                if (i == -1)
                {
                    MyFuncUtil.mylogandxianshi("模拟器" + dqinx + "打开app" + apkName + "失败");
                    Thread.Sleep(20000);
                    continue;
                }
                MyLdcmd.mySort(a_b);
                //Thread.Sleep(2000 * 60 * 200);
                //lock (obj)
                {
                    myDm        dm = new myDm();
                    MingRi_Sort mr = new MingRi_Sort(dm, dqinx, dizhi);
                    //登录 要下载文件 暂定十分钟 发现start按钮则立刻跳出
                    tmpBool = mr.denglu(10);
                    if (!tmpBool)
                    {
                        tmpBoolString.Append("登录环节出错");
                        return;
                    }
                    tmpBool = mr.zhuce(3);
                    if (!tmpBool)
                    {
                        tmpBoolString.Append("注册环节出错");
                        return;
                    }
                    string bmpname = dqinx + "_" + dm.GetTime();
                    mr.zhuxian();
                    Thread.Sleep(10000);
                    int rg = mr.ganyuan_jietu();
                    if (rg != -1)
                    {
                        Thread.Sleep(10000);
                        MyLdcmd.myScreencap(dqinx, path + bmpname + ".png", dizhi);
                        Thread.Sleep(20000);
                        if (dm.IsFileExist(path + bmpname + ".png") == 1)
                        {
                            string abc = mr.generalBasicDemo(dqinx, path + bmpname + ".png");
                            WriteLog.WriteLogFile(dqinx + "", abc + " " + abc.Length);
                            MyFuncUtil.MyRestore(dqinx, abc, a_b);
                            if (abc.Length > 0)
                            {
                                cgcishu++;
                            }
                            else
                            {
                                dm.DeleteFile(path + bmpname + ".png");
                            }
                        }
                    }
                    cishu++;
                    var js = MyFuncUtil.GetTimestamp();
                    MyFuncUtil.mylogandxianshi("模拟器" + dqinx + "循环" + cishu + "次数");
                    MyFuncUtil.mylogandxianshi("模拟器" + dqinx + "循环1次耗时" + MyFuncUtil.SecondToHour(js - ks));
                }
            }
        }
Ejemplo n.º 8
0
        private void ceshi_button_Click(object sender, EventArgs e)
        {
            apkName = dict["明日方舟"];
            int[] yunxingIndex = new int[] { 1, 2, 11 };
            //MyFuncUtil.createDirIfNotExist("C");

            /*foreach (int a in yunxingIndex)
             * {
             *  ParameterizedThreadStart threadStart = new ParameterizedThreadStart(duoxianc);//通过ThreadStart委托告诉子线程执行什么方法 
             *  Thread thread = new Thread(threadStart);
             *  thread.Start(a);
             *  Thread.Sleep(60000);
             * }*/
            string dizhi = null;
            string path  = null;
            string seed  = null;
            string a_b   = "d";

            MyFuncUtil.myqiehuancd(a_b, out dizhi, out path, out seed);
            MyFuncUtil.mylogandxianshi("准备多线程测试");
            for (int j = 0; j < 5; j++)
            {
                MyFuncUtil.mylogandxianshi("序号" + j + ",开始");
                //MyLdcmd.ClearAndCopySimulator("d");
                //打开多开器
                //MyLdcmd.RunDuokaiqi("d");

                /*List<int> newinx = new List<int>();
                 * foreach (int myinx in yunxingIndex)
                 * {
                 *  int i=MyFuncUtil.QiDongWanChengInx("d", myinx, apkName);
                 *  if (i != -1) {
                 *      newinx.Add(i);
                 *  }
                 *  Thread.Sleep(3000);
                 * }*/

                ThreadPool.SetMaxThreads(yunxingIndex.Length, yunxingIndex.Length); //设置最大线程数
                foreach (int inx in yunxingIndex)
                {
                    ThreadPool.QueueUserWorkItem(new WaitCallback(duoxian_cs), inx);//线程池指定线程执行Auto方法
                    Thread.Sleep(1000);
                }
                long ks = MyFuncUtil.GetTimestamp();
                var  xs = false;
                while (true)
                {
                    Thread.Sleep(1000);//这句写着,主要是没必要循环那么多次。去掉也可以。
                    int maxWorkerThreads, workerThreads;
                    int portThreads;
                    ThreadPool.GetMaxThreads(out maxWorkerThreads, out portThreads);
                    ThreadPool.GetAvailableThreads(out workerThreads, out portThreads);
                    if (maxWorkerThreads - workerThreads == 0)
                    {
                        Console.WriteLine("结束了");
                        break;
                    }
                    long js = MyFuncUtil.GetTimestamp();
                    if ((js - ks) > 1000 * 60 * 10)
                    {
                        xs = true;
                    }
                    if (xs)
                    {
                        MyFuncUtil.mylogandxianshi("当前工作线程数" + workerThreads);
                        xs = false;
                        ks = MyFuncUtil.GetTimestamp();
                    }
                }
                MyFuncUtil.mylogandxianshi("序号" + j + ",结束");
            }
        }