Beispiel #1
0
        static void stopWatchingApp(object sender, EventArrivedEventArgs e)
        {
            String processName = (String)e.NewEvent.Properties["ProcessName"].Value;
            uint   pid         = (uint)e.NewEvent.Properties["ProcessID"].Value;

            if (runningApps.ContainsKey(pid))
            {
                TargetProcess tp = runningApps[pid];
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Killing Target Process: {0}, {1}", processName, pid);
                Console.ForegroundColor = ConsoleColor.White;

                if (runningApps.Count == 1)
                {
                    if (!isNiceHashLastApp()) //prevents NiceHash from being restarted immidiatley if it is manually closed
                    {
                        startMiner();
                    }
                }
                runningApps.Remove(pid);
                processEndOfWatch(tp);
            }
            else
            {
                Console.WriteLine("Unwatched process stopped: {0}, {1}", processName, pid);
            }
        }
Beispiel #2
0
        static void processEndOfWatch(TargetProcess tp)
        {
            tp.setEndTime();
            int numDaysLogged = tp.getEndTime().DayOfYear - tp.getStartTime().DayOfYear; //covers cases where monitoring covers multi-day periods

            for (int i = 0; i <= numDaysLogged; i++)
            {
                string          csvFilePath = buildCsvFilePath(tp.getStartTime(), i);
                TextFieldParser parser      = initCsvParser(csvFilePath);
                parseComponentReadings(ref parser, ref tp);
            }
            tp.averageTempAndLoadData();
            writeToLog(tp);
        }
Beispiel #3
0
        static bool isNiceHashLastApp()
        {
            TargetProcess tp = runningApps.Values.First();

            return(tp.getPorcessName() == "NiceHashQuickMiner");
        }