/* МЕТОД ПОСТОЯННОГО МОНИТОРИНГА */ static private void ChekInWhile() { List <process> processes; // список процессов while (true) { try { string text = File.ReadAllText(THIS_PATH + "info.json"); // извлекаем инфу из json information = JsonConvert.DeserializeObject <Info>(text); // конвертируем её в объект } catch { information = new Info(); // если json не найден создаём новый объект } //____________ПРОЦЕССЫ_____________\\ processes = information.processes; // извлекаем из объекта список процессов processes = DeleteOldProcesses(processes); // удаляем все процессы, кроме сегодняшних Process[] procList = Process.GetProcesses(); // получаем текущие запущенные процессы processes = UpdateListProcess(processes, procList); // Обновляем список процессов information.processes = processes; // обновляем записи о процессах в объекте //____________ДОКУМЕНТЫ_____________\\ List <PrintDoc> documents = information.PrintDoc; // получаем список распечатанных документов documents = GetPrintedDocumentName(documents); // добавляем распечатанный документ в список information.PrintDoc = documents; //____________ФЛЕШКИ_____________\\ UsbDriver NewUSB = ChekUSB(); // проверяем есть ли новая вставленная флешка if (NewUSB != null) // если есть { information.usb.Add(NewUSB); // добавляем её в список } information.usb = DeleteOldUSB(information.usb); // удаляем все прошлодневные записи //___________ЗАПИСЬ JSON___________\\ string json = JsonConvert.SerializeObject(information); // конвертируем объект в JSON json = json.Replace("[", "[\n"); //_________________________________// json = json.Replace("]", "\n]"); //_____Добавляем оступы в JSON_____// json = json.Replace("},", "},\n"); //_________________________________// File.WriteAllText(THIS_PATH + "info.json", json); // перезаписываем JSON Thread.Sleep(500); } }
/* Метод для определения подключения флешки */ static private UsbDriver ChekUSB() { List <string> Namelist = new List <string>(); // список имён флешек DriveInfo[] D = DriveInfo.GetDrives(); // объект для работы с usb UsbDriver result = null; foreach (DriveInfo DI in D) // перебераем все носители { if (DI.DriveType == DriveType.Removable) // если носитель является флешкой { Namelist.Add(DI.Name + DI.VolumeLabel); // добавляем его в список } } if (ListUSB.Count < Namelist.Count) { for (int i = 0; i < Namelist.Count; i++) { bool flag = false; for (int j = 0; j < ListUSB.Count; j++) { if (Namelist[i] == ListUSB[j]) { flag = true; break; } } if (!flag) { result = new UsbDriver(); result.Date_Time = DateTime.Now; result.Name = Namelist[i]; } } } ListUSB = Namelist; return(result); }