Пример #1
0
        /* МЕТОД ПОСТОЯННОГО МОНИТОРИНГА */
        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);
            }
        }
Пример #2
0
        /* Метод для определения подключения флешки */
        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);
        }