Add missing SVN eol-style property to files where it was missing.
[pub/USBasp.git] / Projects / LEDNotifier / CPUUsageApp / CPUMonitor.cs
1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Linq;
7 using System.Text;
8 using System.Windows.Forms;
9 using Microsoft.Win32;
10
11 namespace CPUMonitor
12 {
13 public partial class frmCPU : Form
14 {
15 private RegistryKey AppRegKey;
16
17 private const int LIGHT_MAX = 0x1F;
18
19 public frmCPU()
20 {
21 InitializeComponent();
22
23 nicoNotifyIcon.Icon = this.Icon;
24 nicoNotifyIcon.MouseClick += new MouseEventHandler(TrayIconClick);
25 }
26
27 private void Form1_Load(object sender, EventArgs e)
28 {
29 AppRegKey = Registry.CurrentUser.CreateSubKey("Software\\CPUMonitor");
30
31 for (int i = 1; i <= 99; i++)
32 cmbComPort.Items.Add("COM" + i.ToString());
33
34 cmbComPort.SelectedIndex = System.Convert.ToInt32(AppRegKey.GetValue("Port", "1")) - 1;
35 serSerialPort.PortName = cmbComPort.Text;
36
37 Hide();
38 }
39
40 private void NotifyLight(int Red, int Green, int Blue)
41 {
42 byte[] buffer = new byte[3];
43 buffer[0] = (byte)(0x80 | (Red & LIGHT_MAX));
44 buffer[1] = (byte)(0x40 | (Green & LIGHT_MAX));
45 buffer[2] = (byte)(0x20 | (Blue & LIGHT_MAX));
46
47 try
48 {
49 serSerialPort.PortName = cmbComPort.Text;
50 serSerialPort.Open();
51 serSerialPort.Write(buffer, 0, buffer.Length);
52 serSerialPort.Close();
53 }
54 catch (Exception e)
55 {
56
57 }
58 }
59
60 private void tmrCPUTimer_Tick(object sender, EventArgs e)
61 {
62 float CPUUsage = pcCPUUsage.NextValue();
63
64 int Red = 0;
65 int Green = 0;
66 int Blue = 0;
67
68 if (CPUUsage < 25)
69 {
70 Green = (int)((LIGHT_MAX / 25) * CPUUsage);
71 }
72 else if (CPUUsage < 50)
73 {
74 Blue = (int)((LIGHT_MAX / 25) * (CPUUsage - 25));
75 Green = LIGHT_MAX - Blue;
76 }
77 else if (CPUUsage < 75)
78 {
79 Red = (int)((LIGHT_MAX / 25) * (CPUUsage - 50));
80 Blue = LIGHT_MAX - Red;
81 }
82 else
83 {
84 Red = LIGHT_MAX;
85 }
86
87 NotifyLight(Red, Green, Blue);
88 lblCPU.Text = ((int)CPUUsage).ToString() + "%";
89 }
90
91 private void btnExit_Click(object sender, EventArgs e)
92 {
93 Application.Exit();
94 }
95
96 private void btnMinimizeToTray_Click(object sender, EventArgs e)
97 {
98 this.Hide();
99 }
100
101 private void TrayIconClick(object sender, MouseEventArgs e)
102 {
103 this.Show();
104 this.WindowState = FormWindowState.Normal;
105 }
106
107 private void cbPort_SelectedIndexChanged(object sender, EventArgs e)
108 {
109 AppRegKey.SetValue("Port", cmbComPort.SelectedIndex + 1);
110 serSerialPort.PortName = cmbComPort.Text;
111 }
112 }
113 }