static void Main(string[] args) { _handler += new EventHandler(Handler); SetConsoleCtrlHandler(_handler, true); if (System.Diagnostics.Process.GetProcessesByName(Application.ProductName).Length > 1) { Color.WriteLineColor("\n", ConsoleColor.Red); Color.WriteLineColor("Приложение уже запущено!", ConsoleColor.Red); Color.WriteLineColor("\n", ConsoleColor.Red); Color.WriteLineColor("Запускаю завершение работы...", ConsoleColor.Red); Color.WriteLineColor("\n", ConsoleColor.Red); another_run(); } else { CheckDll(); ShowWindow(ConsoleHandle, SW_MAXIMIZE); Packages.connector.ExecuteNonQuery(@"DELETE FROM `log`"); Logo LogoLoad = new Logo(); LogoLoad.LogoLoad(); Server.ServerStart(); Thread th = new Thread(delegate() { Thread.Sleep(3000); while (true) { Color.WriteLineColor("[THREAD] CheckSailAndPriceUpdate запущен", ConsoleColor.DarkYellow); CheckThisBar.CheckSailAndPriceUpdate(); CheckSail.CheckAll(); Color.WriteLineColor("[THREAD] CheckSailAndPriceUpdate завершен", ConsoleColor.DarkYellow); Int32 timeScheduler = 30; try { timeScheduler = (Int32.Parse(Config.GetParametr("timeScheduler"))); } catch (Exception exc) { Color.WriteLineColor("[timeScheduler]" + exc.Message, ConsoleColor.Red); } Color.WriteLineColor("Запланирована проверка через " + timeScheduler + " минут.", ConsoleColor.Blue); Thread.Sleep(timeScheduler * 60000); Color.WriteLineColor("Начало запланированной проверки", ConsoleColor.Blue); } }); th.Name = "Проверка общая"; th.Start(); Thread tha = new Thread(delegate() { Thread.Sleep(120000); CheckTasks.StartCheck(); }); tha.Name = "Проверка задач"; tha.Start(); Thread ths = new Thread(delegate() { while (true) { Command.SwitchCommand("uptime"); Thread.Sleep(3600000); } }); ths.Name = "Проверка общая"; ths.Start(); } Thread.Sleep(1000); while (true) { Color.WriteLineColor("\nВведите комманду:", ConsoleColor.Green); var com = Console.ReadLine().ToLower(); Color.WriteLineColor(Command.SwitchCommand(com), ConsoleColor.Yellow); } }
public static string SwitchCommand(string com) { switch (com) { case "author": { return("The idea and execution by Part!zanes"); } case "version": { return("Alpa 0.4"); } case "list": { Console.WriteLine("======================\n", ConsoleColor.Cyan); foreach (DictionaryEntry de in Server.clients) { Console.WriteLine(de.Value.ToString(), ConsoleColor.Cyan); } Console.WriteLine("\n======================", ConsoleColor.Cyan); return("\nDone."); } case "clr": case "clear": { Console.Clear(); return("done."); } case "logo": { Logo LogoLoad = new Logo(); LogoLoad.LogoLoad(); return(""); } case "status": { if (Server.isServerRunning) { return("Сервер работает!"); } else { Color.WriteLineColor("Сервер не работает", ConsoleColor.Red); return(""); } } case "user add": { Color.WriteLineColor("Введите логин пароль", ConsoleColor.Yellow); string line = Console.ReadLine(); string[] split_data = line.Replace("\0", "").Split(new Char[] { ' ' }); using (MD5 md5Hash = MD5.Create()) { string hash = Packages.GetMd5Hash(md5Hash, (Packages.GetMd5Hash(md5Hash, "1?234%5aZ!") + Packages.GetMd5Hash(md5Hash, split_data[1]))); if (Packages.connector.ExecuteNonQuery("INSERT INTO `users`(`id`,`username`,`hash`,`group`,`online`,`ip`,`tasks_count`) VALUES ( NULL,'" + split_data[0] + "','" + hash + "','1','0',NULL,0)")) { return("Успешно!"); } else { return("Ошибка!"); } } } case "user del": { Color.WriteLineColor("Введите имя пользователя которого хотите удалить...", ConsoleColor.Yellow); string line = Console.ReadLine(); if (Packages.connector.ExecuteNonQuery("DELETE FROM users WHERE username ='******'")) { return("Успешно!"); } else { return("Ошибка!"); } } case "quit": { Environment.Exit(0); return("quit"); } case "bs next start": { int hour; Color.WriteLineColor("Введите через какое время запусить модуль(в часах)", ConsoleColor.Yellow); if (int.TryParse(Console.ReadLine(), out hour)) { Msg.SendUser("BalanceModule", "SleepTime", 0, hour.ToString()); return("Отправлено!"); } else { return("Неверный тип параметра!"); } } case "help": case "command": { Color.WriteLineColor("\nauthor Выводит информацию об авторе\n", ConsoleColor.Cyan); Color.WriteLineColor("logo Выводит логотип\n", ConsoleColor.Cyan); Color.WriteLineColor("list Пользователи онлайн\n", ConsoleColor.Cyan); Color.WriteLineColor("version Выводит версию\n", ConsoleColor.Cyan); Color.WriteLineColor("quit Аварийно завершает приложение\n", ConsoleColor.Cyan); Color.WriteLineColor("help Выводит информацию о коммандах\n", ConsoleColor.Cyan); Color.WriteLineColor("status Выводит статус сервера\n", ConsoleColor.Cyan); Color.WriteLineColor("command Выводит информацию о коммандах\n", ConsoleColor.Cyan); Color.WriteLineColor("clr Очищает окно программы\n", ConsoleColor.Cyan); Color.WriteLineColor("bs next start Устанавливает время запуска проверки весов в часах. not implement\n", ConsoleColor.Cyan); Color.WriteLineColor("user add Добавляет пользователя (логин пароль)\n", ConsoleColor.Cyan); Color.WriteLineColor("user del Удаляет пользователя (логин)\n", ConsoleColor.Cyan); Color.WriteLineColor("uptime Время работы сервера)\n", ConsoleColor.Cyan); return("done."); } case "uptime": return((DateTime.Now - Program.DateTimeStartPrg).ToString(@"dd\.hh\:mm\:ss")); default: { return("Комманда не найдена!"); } } }
public static string SwitchCommand(string com) { switch (com) { case "author": { return "The idea and execution by Part!zanes"; } case "version": { return "Alpa 0.4"; } case "list": { Console.WriteLine("======================\n", ConsoleColor.Cyan); foreach (DictionaryEntry de in Server.clients) { Console.WriteLine(de.Value.ToString(), ConsoleColor.Cyan); } Console.WriteLine("\n======================", ConsoleColor.Cyan); return "\nDone."; } case "clr": case "clear": { Console.Clear(); return "done."; } case "logo": { Logo LogoLoad = new Logo(); LogoLoad.LogoLoad(); return ""; } case "status": { if (Server.isServerRunning) return "Сервер работает!"; else { Color.WriteLineColor("Сервер не работает", ConsoleColor.Red); return ""; } } case "user add": { Color.WriteLineColor("Введите логин пароль", ConsoleColor.Yellow); string line = Console.ReadLine(); string[] split_data = line.Replace("\0", "").Split(new Char[] { ' ' }); using (MD5 md5Hash = MD5.Create()) { string hash = Packages.GetMd5Hash(md5Hash, (Packages.GetMd5Hash(md5Hash, "1?234%5aZ!") + Packages.GetMd5Hash(md5Hash, split_data[1]))); if (Packages.connector.ExecuteNonQuery("INSERT INTO `users`(`id`,`username`,`hash`,`group`,`online`,`ip`,`tasks_count`) VALUES ( NULL,'" + split_data[0] + "','" + hash + "','1','0',NULL,0)")) return "Успешно!"; else return "Ошибка!"; } } case "user del": { Color.WriteLineColor("Введите имя пользователя которого хотите удалить...", ConsoleColor.Yellow); string line = Console.ReadLine(); if (Packages.connector.ExecuteNonQuery("DELETE FROM users WHERE username ='******'")) return "Успешно!"; else return "Ошибка!"; } case "quit": { Environment.Exit(0); return "quit"; } case "bs next start": { int hour; Color.WriteLineColor("Введите через какое время запусить модуль(в часах)", ConsoleColor.Yellow); if (int.TryParse(Console.ReadLine(), out hour)) { Msg.SendUser("BalanceModule", "SleepTime", 0, hour.ToString()); return "Отправлено!"; } else { return "Неверный тип параметра!"; } } case "help": case "command": { Color.WriteLineColor("\nauthor Выводит информацию об авторе\n", ConsoleColor.Cyan); Color.WriteLineColor("logo Выводит логотип\n", ConsoleColor.Cyan); Color.WriteLineColor("list Пользователи онлайн\n", ConsoleColor.Cyan); Color.WriteLineColor("version Выводит версию\n", ConsoleColor.Cyan); Color.WriteLineColor("quit Аварийно завершает приложение\n", ConsoleColor.Cyan); Color.WriteLineColor("help Выводит информацию о коммандах\n", ConsoleColor.Cyan); Color.WriteLineColor("status Выводит статус сервера\n", ConsoleColor.Cyan); Color.WriteLineColor("command Выводит информацию о коммандах\n", ConsoleColor.Cyan); Color.WriteLineColor("clr Очищает окно программы\n", ConsoleColor.Cyan); Color.WriteLineColor("bs next start Устанавливает время запуска проверки весов в часах. not implement\n", ConsoleColor.Cyan); Color.WriteLineColor("user add Добавляет пользователя (логин пароль)\n", ConsoleColor.Cyan); Color.WriteLineColor("user del Удаляет пользователя (логин)\n", ConsoleColor.Cyan); Color.WriteLineColor("uptime Время работы сервера)\n", ConsoleColor.Cyan); return "done."; } case "uptime": return ((DateTime.Now - Program.DateTimeStartPrg).ToString(@"dd\.hh\:mm\:ss")); default: { return "Комманда не найдена!"; } } }