Beispiel #1
0
        public static string InitPathShare()
        {
            String pathShare = IniReadWriter.ReadIniKeys("Command", "gongxiang", BaseConfig);

            PathShareConfig    = pathShare + "/CF.ini";
            PathShareTask      = pathShare + "/Task.ini";
            PathShareTaskPlus  = pathShare + "/TaskPlus.ini";
            PathShareAutoVote  = pathShare + "/AutoVote.ini";
            PathShareStatistic = pathShare + "/Statistic.ini";
            return(pathShare);
        }
Beispiel #2
0
        //添加黑名单项目
        public void AddVoteProjectNameDroped(bool isAllProject)
        {
            string projectName = IniReadWriter.ReadIniKeys("Command", "ProjectName", ConfigCore.PathShareAutoVote);

            if (isAllProject)
            {
                projectName = projectName.Substring(0, projectName.IndexOf("_"));
            }

            string voteProjectNameDroped =
                IniReadWriter.ReadIniKeys("Command", "voteProjectNameDroped", ConfigCore.PathShareAutoVote);
            int dropVote = 0;

            try
            {
                dropVote = int.Parse(IniReadWriter.ReadIniKeys("Command", "dropVote", ConfigCore.PathShareAutoVote));
            }
            catch (Exception)
            {
            }
            finally
            {
                dropVote++;
            }

            IniReadWriter.WriteIniKeys("Command", "dropVote", dropVote.ToString(), ConfigCore.PathShareAutoVote);
            if (StringUtil.isEmpty(voteProjectNameDroped) || voteProjectNameDroped.IndexOf(projectName) == -1)
            {
                int validDrop;
                try
                {
                    validDrop = int.Parse(IniReadWriter.ReadIniKeys("Command", "validDrop",
                                                                    ConfigCore.PathShareAutoVote));
                }
                catch (Exception)
                {
                    validDrop = 1;
                }

                if (dropVote >= validDrop)
                {
                    voteProjectNameDroped +=
                        StringUtil.isEmpty(voteProjectNameDroped) ? projectName : "|" + projectName;
                    IniReadWriter.WriteIniKeys("Command", "voteProjectNameDroped", voteProjectNameDroped,
                                               ConfigCore.PathShareAutoVote);
                }
            }
        }
Beispiel #3
0
        public static void InitWorker(String workerId)
        {
            if (StringUtil.isEmpty(workerId))
            {
                workerId = IniReadWriter.ReadIniKeys("Command", "worker", PathShareConfig);
            }

            InputId = IniReadWriter.ReadIniKeys("Command", "printgonghao", PathShareConfig);
            Tail    = IniReadWriter.ReadIniKeys("Command", "tail", PathShareConfig);
            if (Tail.Equals("1"))
            {
                Id = workerId + "-" + (Sort > 9 ? Sort.ToString() : "0" + Sort);
            }
            else
            {
                Id = workerId;
            }
        }
Beispiel #4
0
        public static bool isDropedProject(string project, int checkType)
        {
            voteProjectNameDroped = IniReadWriter.ReadIniKeys("Command", "voteProjectNameDroped", "c:/AutoVote.ini");
            if (checkType == 1)
            {
                string[] dropedProjectList = voteProjectNameDroped.Split('|');
                foreach (string dropedProject in dropedProjectList)
                {
                    if (project.IndexOf(dropedProject) != -1)
                    {
                        return(true);
                    }
                }

                return(false);
            }

            return(voteProjectNameDroped.IndexOf(project) != -1);
        }
Beispiel #5
0
        public static bool InitConfig()
        {
            if (File.Exists(BaseConfig))
            {
                string pathShare = InitPathShare();
                if (StringUtil.isEmpty(pathShare))
                {
                    MessageBox.Show("共享不能为空!");
                    return(false);
                }

                string sort  = IniReadWriter.ReadIniKeys("Command", "bianhao", BaseConfig);
                string delay = IniReadWriter.ReadIniKeys("Command", "yanchi", BaseConfig);
                if (StringUtil.isEmpty(sort))
                {
                    MessageBox.Show("编号不能为空!");
                    return(false);
                }

                try
                {
                    Sort  = int.Parse(sort);
                    Delay = int.Parse(delay);
                }
                catch (Exception)
                {
                    MessageBox.Show("编号及延时只能是数字,请重新设置!");
                    return(false);
                }

                Form1.SetFormData(Sort, Delay, pathShare);
                AdslName = RasName.GetAdslName();
                IsAdsl   = AdslName == "宽带连接";
                LogCore.Write($"获取默认ADSL拨号名称:{AdslName}");
                return(true);
            }
            else
            {
                MessageBox.Show("请设置后在启动!");
                return(false);
            }
        }
Beispiel #6
0
        //网络异常处理
        public static void NetError(string type)
        {
            String val = IniReadWriter.ReadIniKeys("Command", "Val", PathShareConfig);

            if (StringUtil.isEmpty(val))
            {
                if (type.Equals("exception"))
                {
                    IniReadWriter.WriteIniKeys("Command", "Val", Sort.ToString(), PathShareConfig); //正数 异常
                }
                else
                {
                    IniReadWriter.WriteIniKeys("Command", "Val", (-Sort).ToString(), PathShareConfig); //负数 掉线
                }

                Form1.MainClose();
            }
            else
            {
                Thread.Sleep(2000);
                NetError(type);
            }
        }
Beispiel #7
0
 public static string GetStatistic(string name)
 {
     return(IniReadWriter.ReadIniKeys(Sort.ToString(), name, PathShareStatistic));
 }
Beispiel #8
0
 public static string GetAutoVote(string name)
 {
     return(IniReadWriter.ReadIniKeys("Command", name, PathShareAutoVote));
 }
Beispiel #9
0
 public static string GetBaseConfig(string name)
 {
     return(IniReadWriter.ReadIniKeys("Command", name, BaseConfig));
 }
Beispiel #10
0
 public static String GetCacheMemory()
 {
     return(IniReadWriter.ReadIniKeys("Command", "CacheMemory" + Sort, PathShareTaskPlus));
 }
Beispiel #11
0
 public static String GetTaskName()
 {
     return(IniReadWriter.ReadIniKeys("Command", "TaskName" + Sort, PathShareTask));
 }
Beispiel #12
0
 public static String GetComputerRename()
 {
     return(IniReadWriter.ReadIniKeys("Command", "computerRename", PathShareConfig));
 }
Beispiel #13
0
 public static int GetMaxKb()
 {
     return(int.Parse(IniReadWriter.ReadIniKeys("Command", "maxKb", PathShareConfig)));
 }
Beispiel #14
0
 public static int GetOverTime()
 {
     return(int.Parse(IniReadWriter.ReadIniKeys("Command", "cishu", PathShareConfig)));
 }
Beispiel #15
0
        //切换任务
        private void ChangeTask()
        {
            if (TaskChange.Equals("1"))
            {
                overTimeCount = 0;
                ConfigCore.InitWorker("");
                CustomPath = ConfigCore.GetCustomPath();
                if (CustomPath != "")
                {
                    LogCore.Write($"切换任务:{CustomPath}");
                }

                if (IsVoteTask() && IsAutoVote)
                {
                    string projectName = ConfigCore.GetAutoVote("ProjectName");
                    string drop        = "";
                    try
                    {
                        drop = IniReadWriter.ReadIniKeys("Command", "drop", "./handler.ini");
                    }
                    catch (Exception)
                    {
                    }

                    if (drop != projectName)
                    {
                        IniReadWriter.WriteIniKeys("Command", "drop", "", "./handler.ini");
                    }
                }
            }

            if (TaskName.Equals(TASK_SYS_WAIT_ORDER)) //待命
            {
                NetCore.DisConnect();
                TaskName = ConfigCore.GetTaskName();
                if (TaskName.Equals(TASK_SYS_WAIT_ORDER))
                {
                    WaitOrder();
                }
            }
            else if (TaskName.Equals(TASK_SYS_NET_TEST)) //网络TEST
            {
                NetCore.NetCheck();
                if (Net.IsOnline())
                {
                    NetCore.DisConnect();
                    WaitOrder();
                }
            }
            else if (TaskName.Equals(TASK_SYS_SHUTDOWN)) //关机
            {
                WaitOrder();
                Process.Start("shutdown.exe", "-s -t 0");
                Form1.MainClose();
            }
            else if (TaskName.Equals(TASK_SYS_RESTART)) //重启
            {
                string computerRename = ConfigCore.GetComputerRename();
                if (!StringUtil.isEmpty(computerRename))
                {
                    Computer.apiSetComputerNameEx(5, computerRename + "-" + ConfigCore.Sort);
                }

                WaitOrder();
                Process.Start("shutdown.exe", "-r -t 0");
                Form1.MainClose();
            }
            else if (TaskName.Equals(TASK_SYS_UPDATE)) //升级
            {
                WaitOrder();
                Upgrade.Update();
                Form1.MainClose();
            }
            else if (TaskName.Equals(TASK_SYS_CLEAN)) //清理
            {
                WaitOrder();
                FileUtil.DeleteFolder(PathCore.WorkingPath + "\\投票项目");
            }
            else if (IsVoteTask()) //投票
            {
                NetCore.NetCheck();
                if (CustomPath.Equals(""))
                {
                    WaitOrder();
                    TaskChangeProcess();
                    return;
                }

                if (TaskChange.Equals("1"))
                {
                    if (CustomPath.LastIndexOf("\\") + 1 <= CustomPath.Length && CustomPath.Substring(CustomPath.LastIndexOf("\\") + 1) == "vote.exe")
                    {
                        ProgressCore.StartProcess(CustomPath.Substring(0, CustomPath.Length - 9) + @"\启动九天.bat");
                        TaskName = TASK_VOTE_JIUTIAN;
                    }
                    else
                    {
                        IniReadWriter.WriteIniKeys("setsoft", "ghid", ConfigCore.Id, "c:\\gonghao.ini");
                        ProgressCore.StartProcess(CustomPath);
                        TaskName = TASK_VOTE_PROJECT;
                        IntPtr hwnd0, hwnd1, hwnd2, hwnd3, hwnd4;
                        do
                        {
                            hwnd0 = HwndUtil.FindWindow("WTWindow", null);
                            hwnd1 = HwndUtil.FindWindow("TForm1", null);
                            hwnd2 = HwndUtil.FindWindow("ThunderRT6FormDC", null);
                            hwnd3 = HwndUtil.FindWindow("obj_Form", null);
                            hwnd4 = HwndUtil.FindWindow("TMainForm", null);
                            if (hwnd0 != IntPtr.Zero)
                            {
                                string title = HwndUtil.GetControlText(hwnd0);
                                if (title.Length >= 6 && title.Substring(0, 6) == "自动投票工具")
                                {
                                    TaskName = TASK_VOTE_MM;
                                }
                                else if (title.Length >= 8 && title.Substring(0, 8) == "VOTE2016")
                                {
                                    TaskName = TASK_VOTE_ML;
                                }
                                else if (title.IndexOf("自动投票软件") != -1)
                                {
                                    TaskName = TASK_VOTE_HY;
                                }
                            }
                            else if (hwnd1 != IntPtr.Zero)
                            {
                                TaskName = TASK_VOTE_YUANQIU;
                            }
                            else if (hwnd2 != IntPtr.Zero)
                            {
                                TaskName = TASK_VOTE_JT;
                            }
                            else if (hwnd3 != IntPtr.Zero)
                            {
                                TaskName = TASK_VOTE_DM;
                            }
                            else if (hwnd4 != IntPtr.Zero)
                            {
                                TaskName = TASK_VOTE_JZ;
                            }

                            Thread.Sleep(500);
                        } while (TaskName.Trim().Equals(TASK_VOTE_PROJECT));
                    }

                    bool safeWrite = false;
                    Thread.Sleep(ConfigCore.Sort % 10 * 50);
                    do
                    {
                        try
                        {
                            ConfigCore.WriteTaskName(TaskName);
                            Thread.Sleep(200);
                            string taskNameCheck = ConfigCore.GetTaskName();
                            if (StringUtil.isEmpty(taskNameCheck) || !taskNameCheck.Equals(TaskName))
                            {
                                LogCore.Write("TaskName Write Error!");
                                ConfigCore.WriteTaskName(TaskName);
                                throw new Exception();
                            }

                            safeWrite = true;
                        }
                        catch (Exception)
                        {
                            Thread.Sleep(ConfigCore.Sort % 10 * 50);
                        }
                    } while (!safeWrite);
                }

                if (TaskName.Equals(TASK_VOTE_JIUTIAN))
                {
                    if (!TaskChange.Equals("1"))
                    {
                        ProgressCore.StartProcess(CustomPath.Substring(0, CustomPath.Length - 9) + @"\启动九天.bat");
                        Thread.Sleep(500);
                    }

                    JiuTian.Start();
                }
                else
                {
                    if (!TaskChange.Equals("1"))
                    {
                        ProgressCore.StartProcess(CustomPath);
                        Thread.Sleep(500);
                    }

                    if (TaskName.Equals(TASK_VOTE_MM))
                    {
                        MM.Start();
                    }
                    else if (TaskName.Equals(TASK_VOTE_ML))
                    {
                        //ML开始程序
                    }
                    else if (TaskName.Equals(TASK_VOTE_YUANQIU))
                    {
                        YuanQiu.Start();
                    }
                    else if (TaskName.Equals(TASK_VOTE_JT))
                    {
                        JT.start();
                    }
                    else if (TaskName.Equals(TASK_VOTE_DM))
                    {
                        //DM开始程序
                    }
                    else if (TaskName.Equals(TASK_VOTE_JZ))
                    {
                        JZ.start();
                    }
                    else if (TaskName.Equals(TASK_VOTE_HY))
                    {
                        HY.Start();
                    }
                }

                TaskPath = CustomPath;
            }
            else
            {
                TaskName = TASK_SYS_WAIT_ORDER;
            }
        }
Beispiel #16
0
 public static String GetCustomPath()
 {
     return(IniReadWriter.ReadIniKeys("Command", "customPath" + Sort, PathShareTaskPlus));
 }
Beispiel #17
0
        //添加黑名单项目
        public static void AddVoteProjectNameDroped(bool isAllProject)
        {
            string projectName = ConfigCore.GetAutoVote("ProjectName");
            //一机器只允许拉黑投票一次
            string   drop     = IniReadWriter.ReadIniKeys("Command", "drop", "./handler.ini");
            TaskInfo taskInfo = TaskInfos.Get();

            if ((taskInfo != null && taskInfo.ProjectName != projectName) || drop == projectName)
            {
                return;
            }

            IniReadWriter.WriteIniKeys("Command", "drop", projectName, "./handler.ini");
            string voteProjectNameDroped = ConfigCore.GetAutoVote("voteProjectNameDroped");
            int    dropVote = 0;

            try
            {
                dropVote = int.Parse(ConfigCore.GetAutoVote("dropVote"));
            }
            catch (Exception)
            {
            }
            finally
            {
                dropVote++;
            }

            if (isAllProject)
            {
                if (projectName.IndexOf("_") > 0)
                {
                    projectName = projectName.Substring(0, projectName.IndexOf("_"));
                }
            }

            ConfigCore.WriteAutoVote("dropVote", dropVote.ToString());
            if (StringUtil.isEmpty(voteProjectNameDroped) || voteProjectNameDroped.IndexOf(projectName) == -1)
            {
                int    validDrop = 1;
                double blackRate = 1;
                try
                {
                    validDrop = int.Parse(ConfigCore.GetAutoVote("validDrop"));
                }
                catch { }
                try
                {
                    blackRate = int.Parse(ConfigCore.GetAutoVote("blackRate"));
                }
                catch { }
                if (dropVote >= validDrop)
                {
                    IniReadWriter.WriteIniKeys("Command", "drop", "", "./handler.ini");
                    LogCore.Write($"{projectName}拉黑{blackRate * 20}分钟");
                    voteProjectNameDroped +=
                        StringUtil.isEmpty(voteProjectNameDroped) ? projectName : "|" + projectName;
                    ConfigCore.WriteAutoVote("voteProjectNameDroped", voteProjectNameDroped);
                }
            }
        }