Пример #1
0
        public float GetGpuInfo()
        {
            if (!initialised)
            {
                return(-1);
            }

            UpdateVisitor updateVisitor = new UpdateVisitor();
            Computer      computer      = new Computer();

            computer.Open();
            computer.GPUEnabled = true;
            computer.Accept(updateVisitor);
            foreach (int i in i_)
            {
                if (computer.Hardware[i].HardwareType == HardwareType.GpuAti)
                {
                    float?totalLoad = 0f;
                    foreach (int j in j_)
                    {
                        if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Load)
                        {
                            totalLoad += computer.Hardware[i].Sensors[j].Value;
                        }
                    }

                    computer.Close();
                    return((float)totalLoad);
                }
            }
            computer.Close();
            return(0f);
        }
Пример #2
0
        public void InitGpuInfo()
        {
            initialised = true;
            UpdateVisitor updateVisitor = new UpdateVisitor();
            Computer      computer      = new Computer();

            computer.Open();
            computer.GPUEnabled = true;
            computer.Accept(updateVisitor);
            for (int i = 0; i < computer.Hardware.Length; i++)
            {
                if (computer.Hardware[i].HardwareType == HardwareType.GpuAti)
                {
                    i_.Add(i);
                    for (int j = 0; j < computer.Hardware[i].Sensors.Length; j++)
                    {
                        if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Load)
                        {
                            j_.Add(j);
                        }
                    }

                    computer.Close();
                }
            }
            computer.Close();
        }
Пример #3
0
        public static void RefreshHardware(Hardware obj)
        {
            obj.Sensors.Clear();
            UpdateVisitor updateVisitor = new UpdateVisitor();
            Computer      computer      = new Computer();

            computer.Open();
            PartOneHot(computer, obj.GenericName);
            computer.Accept(updateVisitor);
            for (int i = 0; i < computer.Hardware.Length; i++)
            {
                for (int k = 0; k < computer.Hardware.Length; k++)
                {
                    var currentHardware = computer.Hardware[k];

                    for (int j = 0; j < currentHardware.Sensors.Length; j++)
                    {
                        var     currentSensor = currentHardware.Sensors[j];
                        Sensor_ nSensor       = new Sensor_(currentSensor.Name, currentSensor.SensorType.ToString(), currentSensor)
                        {
                            Value = (float)currentSensor.Value
                        };
                        obj.Sensors[currentSensor.Name] = nSensor;
                    }
                }
                computer.Close();
            }
        }
Пример #4
0
        static Machine GetSystemInfo()
        {
            var machine = new Machine();

            UpdateVisitor updateVisitor = new UpdateVisitor();
            Computer      computer      = new Computer();

            computer.Open();
            computer.CPUEnabled = true;
            computer.GPUEnabled = true;
            computer.Accept(updateVisitor);
            for (int i = 0; i < computer.Hardware.Length; i++)
            {
                var hardware = computer.Hardware[i];

                if (hardware.HardwareType == HardwareType.CPU ||
                    hardware.HardwareType == HardwareType.GpuNvidia ||
                    hardware.HardwareType == HardwareType.GpuAti)
                {
                    for (int j = 0; j < hardware.Sensors.Length; j++)
                    {
                        var sensor = hardware.Sensors[j];
                        UpdateSensor(machine, sensor);
                    }
                }
            }
            computer.Close();
            return(machine);
        }
Пример #5
0
        private static string _value()
        {
            string t = string.Empty;

            try
            {
                UpdateVisitor updateVisitor = new UpdateVisitor();
                Computer      computer      = new Computer();
                computer.Open();
                computer.HDDEnabled = true;
                computer.Accept(updateVisitor);
                for (int i = 0; i < computer.Hardware.Length; i++)
                {
                    if (computer.Hardware[i].HardwareType == HardwareType.HDD)
                    {
                        for (int j = 0; j < computer.Hardware[i].Sensors.Length; j++)
                        {
                            if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Temperature)
                            {
                                Data.Temp.Add($"{{\"{{#DISKSENSORNAME}}\":\"{Convert.ToString(computer.Hardware[i].Name)}\"}}");
                            }
                        }
                    }
                }
                computer.Close();
                t = string.Join(",", Data.Temp);
            }
            catch
            {
                t = "101";
            }
            return(t);
        }
Пример #6
0
        /*
         * OpenHardwareMonitor
         */

        public float getSystemInfo()
        {
            float temp = 0;

            UpdateVisitor updateVisitor = new UpdateVisitor();
            Computer      computer      = new Computer();

            computer.Open();
            computer.CPUEnabled = true;
            computer.Accept(updateVisitor);
            for (int i = 0; i < computer.Hardware.Length; i++)
            {
                if (computer.Hardware[i].HardwareType == HardwareType.CPU)
                {
                    for (int j = 0; j < computer.Hardware[i].Sensors.Length; j++)
                    {
                        if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Temperature)
                        {
                            temp = (float)computer.Hardware[i].Sensors[j].Value;

                            /*
                             * string buffer = String.Format("getSystemInfo: {0} value: {1}", computer.Hardware[i].Sensors[j].Name, temp);
                             * writeLog(buffer);
                             */
                        }
                    }
                }
            }
            computer.Close();
            return(temp);
        }
        public void GetSystemInfo()
        {
            UpdateVisitor updateVisitor = new UpdateVisitor();
            Computer      computer      = new Computer();

            computer.Open();
            computer.CPUEnabled = true;
            computer.Accept(updateVisitor);
            for (int i = 0; i < computer.Hardware.Length; i++)
            {
                if (computer.Hardware[i].HardwareType == HardwareType.CPU)
                {
                    for (int j = 0; j < computer.Hardware[i].Sensors.Length; j++)
                    {
                        if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Temperature)
                        {
                            if (computer.Hardware[i].Sensors[j].Name == "CPU Package")
                            {
                                Program.Receiver.SendData(2000 + Convert.ToInt32(computer.Hardware[i].Sensors[j].Value));
                                Thread.Sleep(150);
                                Console.WriteLine(computer.Hardware[i].Sensors[j].Name + ":" + computer.Hardware[i].Sensors[j].Value.ToString() + "\r");
                            }
                        }
                    }
                }
            }
            computer.Close();
        }
Пример #8
0
        public static List <string> GetCPUInfo()
        {
            var updateVisitor = new UpdateVisitor();
            var computer      = new Computer();

            computer.Open();
            computer.CPUEnabled = true;
            computer.Accept(updateVisitor);
            var returnValues = new List <string>();

            for (var i = 0; i < computer.Hardware.Length; i++)
            {
                if (computer.Hardware[i].HardwareType == HardwareType.CPU)
                {
                    for (var j = 0; j < computer.Hardware[i].Sensors.Length; j++)
                    {
                        if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Temperature)
                        {
                            returnValues.Add(computer.Hardware[i].Sensors[j].Name + ":" + computer.Hardware[i].Sensors[j].Value.ToString() + "\r");
                        }
                    }
                }
            }
            computer.Close();
            return(returnValues);
        }
Пример #9
0
        private void GetCPUTemperture()
        {
            tmpInfo = string.Empty;
            int     k       = 0;
            Visitor visitor = new Visitor();

            Computer computer = new Computer();

            computer.Open();
            computer.CPUEnabled = true;
            computer.Accept(visitor);

            for (int i = 0; i < computer.Hardware.Length; i++)
            {
                if (computer.Hardware[i].HardwareType == HardwareType.CPU)
                {
                    for (int j = 0; j < computer.Hardware[i].Sensors.Length; j++)
                    {
                        if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Temperature)
                        {
                            tmpInfo = computer.Hardware[i].Sensors[Test2.GlobalVar].Value.ToString();
                        }
                    }
                }
            }


            richTextBox1.Text = tmpInfo;
            Test3.GlobalVar   = tmpInfo;
            computer.Close();
        }
Пример #10
0
        private void GetSystemInfo()
        {
            float avergevalue = 0;
            int   cpu_number  = 0;

            computer.Open();
            computer.CPUEnabled = true;
            computer.Accept(updateVisitor);
            savelabel2 = "";
            for (int i = 0; i < computer.Hardware.Length; i++)
            {
                if (computer.Hardware[i].HardwareType == HardwareType.CPU)
                {
                    for (int j = 0; j < computer.Hardware[i].Sensors.Length; j++)
                    {
                        if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Temperature)
                        {
                            savelabel2  += computer.Hardware[i].Sensors[j].Name + ":" + computer.Hardware[i].Sensors[j].Value.ToString() + "," + "\r";
                            avergevalue += (float)computer.Hardware[i].Sensors[j].Value;
                            cpu_number++;
                        }
                    }
                }
            }
            computer.Close();
            double result = avergevalue / cpu_number;

            result      = Math.Round(result, 2, MidpointRounding.AwayFromZero);
            tempaverage = (float)result;
        }
Пример #11
0
        static void Main(string[] args)
        {
            Log.Logger = new LoggerConfiguration()
                         .WriteTo.Console()
                         .CreateLogger();

            Computer c = new Computer()
            {
                CPUEnabled           = true,
                FanControllerEnabled = true,
                GPUEnabled           = true,
                HDDEnabled           = true,
                MainboardEnabled     = true,
                RAMEnabled           = true,
            };

            try
            {
                c.Open();
                var visitor = new HWVisitor();
                c.Accept(visitor);
            }
            finally
            {
                c.Close();
            }
        }
Пример #12
0
        static void GetSystemInfo()
        {
            SP             = new SerialPort();
            SP.PortName    = "com3";          //CHANGE THE COM PORT HERE
            SP.BaudRate    = 9600;
            SP.ReadTimeout = 500;
            SP.Open();

            UpdateVisitor updateVisitor = new UpdateVisitor();
            Computer      computer      = new Computer();

            computer.Open();
            computer.CPUEnabled = true;
            computer.Accept(updateVisitor);
            for (int i = 0; i < computer.Hardware.Length; i++)
            {
                if (computer.Hardware[i].HardwareType == HardwareType.CPU)
                {
                    for (int j = 0; j < computer.Hardware[i].Sensors.Length; j++)
                    {
                        if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Temperature)
                        {
                            Console.WriteLine(computer.Hardware[i].Sensors[j].Value.ToString());
                            SP.WriteLine(computer.Hardware[i].Sensors[j].Value.ToString());
                        }
                    }
                }
            }
            computer.Close();
            SP.Close();
        }
Пример #13
0
        public void init()//硬件初始化
        {
            source        = new Source();
            source.CPU    = false;
            source.GPU    = false;
            cpuinfo       = new CPUinfo();
            cpuinfo.Tem   = false;
            cpuinfo.Load  = false;
            cpuinfo.Clock = false;
            updateVisitor = new UpdateVisitor();
            computer      = new Computer();
            computer.Open();
            computer.CPUEnabled = true;
            computer.GPUEnabled = true;
            computer.HDDEnabled = true;
            computer.RAMEnabled = true;
            computer.Accept(updateVisitor);
            source.num = computer.Hardware.Length;
            for (int i = 0; i < computer.Hardware.Length; i++)
            {
                if (computer.Hardware[i].HardwareType == HardwareType.CPU)
                {
                    source.CPU      = true;
                    source.CPUindex = i;
                }
                if (computer.Hardware[i].HardwareType == HardwareType.GpuAti)
                {
                    source.GPU      = true;
                    source.GPUindex = i;
                }
                if (computer.Hardware[i].HardwareType == HardwareType.GpuNvidia)
                {
                    source.GPU      = true;
                    source.GPUindex = i;
                }
            }
            //CPUINFO初始化
            int num = 0;

            //Load初始化
            for (int i = 0; i < computer.Hardware[source.CPUindex].Sensors.Length; i++)
            {
                if (computer.Hardware[source.CPUindex].Sensors[i].SensorType == SensorType.Load)
                {
                    cpuinfo.Load            = true;
                    cpuinfo.LoadSensorindex = i;
                    break;
                }
            }
            for (int i = 0; i < computer.Hardware[source.CPUindex].Sensors.Length; i++)
            {
                if (computer.Hardware[source.CPUindex].Sensors[i].SensorType == SensorType.Load)
                {
                    num++;
                }
            }
            cpuinfo.LoadSensorNum = num;
            num = 0;
            computer.Close();
        }
Пример #14
0
 private void timer_Tick(object sender, EventArgs e)
 {
     computer.Accept(updateVisitor);
     treeView.Invalidate();
     plotPanel.Invalidate();
     sensorSystemTray.Redraw();
 }
Пример #15
0
        static async Task GetSystemInfo()
        {
            UpdateVisitor updateVisitor = new UpdateVisitor();
            Computer      computer      = new Computer();

            computer.Open();
            computer.CPUEnabled = true;
            computer.Accept(updateVisitor);

            for (int i = 0; i < computer.Hardware.Length; i++)
            {
                if (computer.Hardware[i].HardwareType == HardwareType.CPU)
                {
                    for (int j = 0; j < computer.Hardware[i].Sensors.Length; j++)
                    {
                        if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Temperature && computer.Hardware[i].Sensors[j].Value.HasValue)
                        {
                            Console.WriteLine(computer.Hardware[i].Sensors[j].Name + ":" + computer.Hardware[i].Sensors[j].Value.ToString() + "C" + "\r");
                            var model = new ApiModel {
                                NewValue = computer.Hardware[i].Sensors[j].Value.Value
                            };
                            using (var client = new HttpClient())
                            {
                                var content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(model));
                                await client.PostAsync("https://apktest.azurewebsites.net/api/temperature", content);
                            }
                        }
                    }
                }
            }
            computer.Close();
        }
Пример #16
0
 private static async Task ReportTempsAsync(CancellationToken cancellationToken)
 {
     while (!cancellationToken.IsCancellationRequested)
     {
         try
         {
             var s = new StringBuilder();
             var u = new UpdateVisitor();
             var c = new Computer();
             c.Open();
             c.CPUEnabled = true;
             c.Accept(u);
             foreach (var h in GetSensors(c))
             {
                 s.AppendLine($"{h.Name}: {h.Value:f1} {Label(h.SensorType)}".PadRight(Console.BufferWidth - 1));
             }
             c.Close();
             ShowMsj(s.ToString(), ref _tempsDspLine);
             await Task.Delay(1000, cancellationToken);
         }
         catch (TaskCanceledException) { return; }
         catch (Exception ex)
         {
             Console.WriteLine($"/!\\ El monitor de hardware encontró un error: {ex.Message}");
             return;
         }
         cancellationToken.ThrowIfCancellationRequested();
     }
 }
Пример #17
0
        private void BackgroundUpdater_DoWork(object sender, DoWorkEventArgs e)
        {
            _computer.Accept(_updateVisitor);

            if (_logSensors != null && _logSensors.Value && _delayCount >= 4)
            {
                _logger.Log();
            }

            if (_delayCount < 4)
            {
                _delayCount++;
            }

            _plotPanel.InvalidatePlot();
        }
Пример #18
0
        private void timer_Tick(object sender, EventArgs e)
        {
            computer.Accept(updateVisitor);
            treeView.Invalidate();
            plotPanel.Invalidate();
            systemTray.Redraw();
            if (gadget != null)
            {
                gadget.Redraw();
            }

            if (wmiProvider != null)
            {
                wmiProvider.Update();
            }
        }
Пример #19
0
        public List <CoreInfo> GetCoreInfo()
        {
            UpdateVisitor updateVisitor = new UpdateVisitor();

            computer.CPUEnabled = true;
            computer.Accept(updateVisitor);
            int             cpuno      = 0;
            List <CoreInfo> returnlist = new List <CoreInfo>();

            for (int i = 0; i < computer.Hardware.Length; i++)
            {
                if (computer.Hardware[i].HardwareType == HardwareType.CPU)//Enumerating CPU
                {
                    var cpu = computer.Hardware[i];
                    for (int j = 0; j < computer.Hardware[i].Sensors.Length; j++)//CPU sensors
                    {
                        if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Temperature)
                        {
                            var sensor     = computer.Hardware[i].Sensors[j];
                            var sensorlist = computer.Hardware[i].Sensors;
                            var mload      = sensorlist.Single(s => (s.SensorType == SensorType.Load) && (s.Index == sensor.Index)).Value;//Find correct load sensor for that temperature sensor
                            var core       = new CoreInfo();
                            core.load  = mload / 100;
                            core.cpuno = cpuno;
                            core.temp  = sensor.Value;
                            returnlist.Add(core);
                        }
                    }
                    cpuno++;
                }
            }
            return(returnlist);
        }
Пример #20
0
        private static void OutputComputerPower()
        {
            Computer computer = new Computer
            {
                IsCpuEnabled = true,
                IsGpuEnabled = true,
            };

            float energy = 0;

            computer.Open();
            computer.Accept(new UpdateVisitor());

            foreach (IHardware hardware in computer.Hardware)
            {
                foreach (ISensor sensor in hardware.Sensors)
                {
                    if (sensor.SensorType == SensorType.Power)
                    {
                        energy += sensor.Value.Value;
                    }
                }
            }

            Console.WriteLine(energy.ToString(numberFormat));

            computer.Close();
        }
Пример #21
0
        public int GetGPUTemp()
        {
            UpdateVisitor updateVisitor = new UpdateVisitor();
            Computer      computer      = new Computer();

            computer.Open();
            computer.Accept(updateVisitor);
            computer.GPUEnabled = true;

            foreach (var hardwareItem in computer.Hardware)
            {
                if (hardwareItem.HardwareType == HardwareType.GpuNvidia)
                {
                    foreach (var sensor in hardwareItem.Sensors)
                    {
                        if (sensor.SensorType == SensorType.Temperature)
                        {
                            return((int)sensor.Value);
                        }
                    }
                }
            }
            computer.Close();
            return(0);
        }
Пример #22
0
        static int GetSystemInfo()
        {
            UpdateVisitor updateVisitor = new UpdateVisitor();
            Computer      computer      = new Computer();

            computer.Open();
            computer.CPUEnabled = true;
            computer.Accept(updateVisitor);
            foreach (IHardware v in computer.Hardware)
            {
                if (v.HardwareType != HardwareType.CPU)
                {
                    continue;
                }
                for (int j = 0; j < v.Sensors.Length; j++)
                {
                    if (v.Sensors[j].SensorType == SensorType.Temperature)
                    {
                        return(int.Parse(v.Sensors[j].Value.ToString()));
                    }
                    //Console.WriteLine("Temp => "+computer.Hardware[i].Sensors[j].Name + ":" + computer.Hardware[i].Sensors[j].Value.ToString() + "\r");
                }
            }
            computer.Close();
            return(0);
        }
Пример #23
0
    static public void Main()
    {
        Computer computer = new Computer
        {
            IsCpuEnabled         = false,
            IsGpuEnabled         = false,
            IsMemoryEnabled      = false,
            IsMotherboardEnabled = false,
            IsControllerEnabled  = false,
            IsNetworkEnabled     = false,
            IsStorageEnabled     = true
        };

        computer.Open();
        computer.Accept(new UpdateVisitor());

/*
 *      var options = new JsonSerializerOptions
 *      {
 *          WriteIndented = true,
 *      };
 *      Console.WriteLine(JsonSerializer.Serialize(computer.Hardware as IHardware, typeof(IHardware), options));
 */
        Console.WriteLine(computer.GetReport());
    }
        static void Main(string[] args)
        {
            computer = new Computer
            {
                IsCpuEnabled         = true,
                IsGpuEnabled         = true,
                IsMemoryEnabled      = true,
                IsMotherboardEnabled = true,
                IsControllerEnabled  = true,
                IsNetworkEnabled     = true,
                IsStorageEnabled     = true
            };

            computer.Open();
            computer.Accept(new UpdateVisitor());

            listener = new HttpListener();
            listener.Prefixes.Add(url);
            listener.Start();

#if DEBUG
            Console.WriteLine("Listening for connections on {0}", url);
#endif

            Task listenTask = HandleIncomingConnections();
            listenTask.GetAwaiter().GetResult();

            listener.Close();
        }
Пример #25
0
        static void Main(string[] args)
        {
            var pc = new Computer();

            pc.Accept(new Visito.Common.Visitor());

            Console.ReadKey();
        }
        public StatSensors()
        {
            _computer.CPUEnabled       = true;
            _computer.GPUEnabled       = true;
            _computer.MainboardEnabled = true;
            _computer.HDDEnabled       = true;
            _computer.Open();
            _computer.Accept(_visitor);

            sessionID        = DateTime.Now.Ticks;
            historyIndex     = -1;
            historyIndexHour = -1;
            historyIndexDay  = -1;

            _timer = new Timer(Update, null, 0, 6000);
            Update(null);
        }
Пример #27
0
        private void timer_Tick(object sender, EventArgs e)
        {
            computer.Accept(updateVisitor);
            treeView.Invalidate();
            plotPanel.InvalidatePlot();
            systemTray.Redraw();
            if (gadget != null)
            {
                gadget.Redraw();
            }

            if (wmiProvider != null)
            {
                wmiProvider.Update();
            }


            if (logSensors != null)
            {
                if (logSensors.Value && delayCount >= 4)
                {
                    logger.Log();
                }

                if (delayCount < 4)
                {
                    delayCount++;
                }
            }
            else
            {
                logSensors = new UserOption("logSensorsMenuItem", false, logSensorsMenuItem,
                                            settings);

                if (logSensors.Value && delayCount >= 4)
                {
                    logger.Log();
                }

                if (delayCount < 4)
                {
                    delayCount++;
                }
            }
        }
Пример #28
0
        public void AcceptTestVisitor_VisitCalledOnceForComputerNeverForComputerParts()
        {
            Mock <IComputerPartVisitor> mockComputerPartVisitor = new Mock <IComputerPartVisitor>();
            Computer computer = new Computer();

            computer.Accept(mockComputerPartVisitor.Object);

            mockComputerPartVisitor.Verify(visitor => visitor.Visit(computer), Times.Once());
            mockComputerPartVisitor.VerifyNoOtherCalls();
        }
Пример #29
0
        private void Timer_Tick(object sender, EventArgs e)
        {
            _computer.Accept(_updateVisitor);
            treeView.Invalidate();
            _plotPanel.InvalidatePlot();
            _systemTray.Redraw();
            _gadget?.Redraw();
            _wmiProvider?.Update();

            if (_logSensors != null && _logSensors.Value && _delayCount >= 4)
            {
                _logger.Log();
            }

            if (_delayCount < 4)
            {
                _delayCount++;
            }
        }
Пример #30
0
        public IEnumerable <ReportedValue> ReadAllSensors()
        {
            _computer.Accept(_updateVisitor);
            foreach (var nvme in _nvmes.Values)
            {
                nvme.Update();
            }

            return(_ids.Values.OfType <ISensor>().SelectMany(ReportedValues));
        }