private void Window_Initialized(object sender, EventArgs e) { IntPtr hWnd = new WindowInteropHelper(this).Handle; SetWindowPos(hWnd, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE); IntPtr windowHandle = (new WindowInteropHelper(this)).Handle; HwndSource src = HwndSource.FromHwnd(windowHandle); src.AddHook(new HwndSourceHook(WndProc)); this.hwW = new HWiNFOWrapper(); this.sensorElementsDataArray = hwW.GetSensorData(); this.DriveDataList = DriveInfo.GetDrives(); #region TEST MODE // DEBUG PURPOSES ONLY if (TEST_MODE) { if (!System.IO.File.Exists(@"C:\Users\Kama3\Documents\Visual Studio 2013\Projects\GodlikeWidgets\GodlikeWidgets\test2.txt")) { System.IO.File.Create(@"C:\Users\Kama3\Documents\Visual Studio 2013\Projects\GodlikeWidgets\GodlikeWidgets\test2.txt"); } FileStream fs = File.Open(@"C:\Users\Kama3\Documents\Visual Studio 2013\Projects\GodlikeWidgets\GodlikeWidgets\test2.txt", FileMode.Truncate, FileAccess.Write); StreamWriter sw = new StreamWriter(fs); foreach (Struct_SensorElement sensorElement in sensorElementsDataArray) { sw.WriteLine(String.Format("Sensor Name: {0}", sensorElement.szName)); sw.WriteLine(String.Format("Sensor ID: {0}", sensorElement.dwSensorID)); foreach (Struct_SensorElementReader sensorReader in sensorElement.sensorReaders) { sw.WriteLine(String.Format("\tSensor Name: {0}", sensorReader.szName)); sw.WriteLine(String.Format("\tSensor Units: {0}", sensorReader.szUnit)); sw.WriteLine(String.Format("\tSensor Type: {0}", Enum.GetName(typeof(SENSOR_READING_TYPE), sensorReader.tReading))); sw.WriteLine(String.Format("\tSensor Value: {0}", sensorReader.Value)); sw.Write("\n"); } sw.Write("\n"); } sw.Flush(); fs.Flush(); sw.Close(); fs.Close(); } #endregion // Initialize lists, just one time Database.CPU_CHART_VALUES = new ObservableCollection <KeyValuePair <string, int> >(); Database.NETWORK_CHART_VALUES = new ObservableCollection <KeyValuePair <string, int> >(); this.processUsageList = new Dictionary <string, int>(); Database.DISKS = new ObservableCollection <Disk>(); Database.GPUS = new ObservableCollection <GPU>(); // Test disk Disk disk_C = new Disk("C", CONFIG_DISK1_SENSOR_NAME); Disk disk_F = new Disk("F", CONFIG_DISK2_SENSOR_NAME); Database.DISKS.Add(disk_C); Database.DISKS.Add(disk_F); // Test GPU GPU gpu1 = new GPU(CONFIG_GPU1_SENSOR_NAME); GPU gpu2 = new GPU(CONFIG_GPU2_SENSOR_NAME); Database.GPUS.Add(gpu1); Database.GPUS.Add(gpu2); // Fil charts with zeroes for (int i = 0; i < CHARTS_NODES + 1; i++) { Database.CPU_CHART_VALUES.Add(new KeyValuePair <string, int>(i.ToString(), 0)); } for (int i = 0; i < CHARTS_NODES + 1; i++) { Database.NETWORK_CHART_VALUES.Add(new KeyValuePair <string, int>(i.ToString(), 0)); } // Start ReadData Thread t_oReadDataBackgroundWorker = new BackgroundWorker(); t_oReadDataBackgroundWorker.DoWork += new DoWorkEventHandler(Thread_ReadData); t_oReadDataBackgroundWorker.WorkerSupportsCancellation = true; t_oReadDataBackgroundWorker.WorkerReportsProgress = false; t_oReadDataBackgroundWorker.RunWorkerAsync(); // Start WriteData Thread t_oWriteDataBackgroundWorker = new BackgroundWorker(); t_oWriteDataBackgroundWorker.DoWork += new DoWorkEventHandler(Thread_WriteData); t_oWriteDataBackgroundWorker.WorkerSupportsCancellation = true; t_oWriteDataBackgroundWorker.WorkerReportsProgress = false; t_oWriteDataBackgroundWorker.RunWorkerAsync(); }
private void Window_Initialized(object sender, EventArgs e) { IntPtr hWnd = new WindowInteropHelper(this).Handle; SetWindowPos(hWnd, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE); IntPtr windowHandle = (new WindowInteropHelper(this)).Handle; HwndSource src = HwndSource.FromHwnd(windowHandle); src.AddHook(new HwndSourceHook(WndProc)); this.hwW = new HWiNFOWrapper(); this.sensorElementsDataArray = hwW.GetSensorData(); this.DriveDataList = DriveInfo.GetDrives(); #region TEST MODE // DEBUG PURPOSES ONLY if (TEST_MODE) { if (!System.IO.File.Exists(@"C:\Users\Kama3\Documents\Visual Studio 2013\Projects\GodlikeWidgets\GodlikeWidgets\test2.txt")) System.IO.File.Create(@"C:\Users\Kama3\Documents\Visual Studio 2013\Projects\GodlikeWidgets\GodlikeWidgets\test2.txt"); FileStream fs = File.Open(@"C:\Users\Kama3\Documents\Visual Studio 2013\Projects\GodlikeWidgets\GodlikeWidgets\test2.txt", FileMode.Truncate, FileAccess.Write); StreamWriter sw = new StreamWriter(fs); foreach (Struct_SensorElement sensorElement in sensorElementsDataArray) { sw.WriteLine(String.Format("Sensor Name: {0}", sensorElement.szName)); sw.WriteLine(String.Format("Sensor ID: {0}", sensorElement.dwSensorID)); foreach (Struct_SensorElementReader sensorReader in sensorElement.sensorReaders) { sw.WriteLine(String.Format("\tSensor Name: {0}", sensorReader.szName)); sw.WriteLine(String.Format("\tSensor Units: {0}", sensorReader.szUnit)); sw.WriteLine(String.Format("\tSensor Type: {0}", Enum.GetName(typeof(SENSOR_READING_TYPE), sensorReader.tReading))); sw.WriteLine(String.Format("\tSensor Value: {0}", sensorReader.Value)); sw.Write("\n"); } sw.Write("\n"); } sw.Flush(); fs.Flush(); sw.Close(); fs.Close(); } #endregion // Initialize lists, just one time Database.CPU_CHART_VALUES = new ObservableCollection<KeyValuePair<string, int>>(); Database.NETWORK_CHART_VALUES = new ObservableCollection<KeyValuePair<string, int>>(); this.processUsageList = new Dictionary<string, int>(); Database.DISKS = new ObservableCollection<Disk>(); Database.GPUS = new ObservableCollection<GPU>(); // Test disk Disk disk_C = new Disk("C", CONFIG_DISK1_SENSOR_NAME); Disk disk_F = new Disk("F", CONFIG_DISK2_SENSOR_NAME); Database.DISKS.Add(disk_C); Database.DISKS.Add(disk_F); // Test GPU GPU gpu1 = new GPU(CONFIG_GPU1_SENSOR_NAME); GPU gpu2 = new GPU(CONFIG_GPU2_SENSOR_NAME); Database.GPUS.Add(gpu1); Database.GPUS.Add(gpu2); // Fil charts with zeroes for (int i = 0; i < CHARTS_NODES + 1; i++) { Database.CPU_CHART_VALUES.Add(new KeyValuePair<string, int>(i.ToString(), 0)); } for (int i = 0; i < CHARTS_NODES+1; i++) { Database.NETWORK_CHART_VALUES.Add(new KeyValuePair<string, int>(i.ToString(), 0)); } // Start ReadData Thread t_oReadDataBackgroundWorker = new BackgroundWorker(); t_oReadDataBackgroundWorker.DoWork += new DoWorkEventHandler(Thread_ReadData); t_oReadDataBackgroundWorker.WorkerSupportsCancellation = true; t_oReadDataBackgroundWorker.WorkerReportsProgress = false; t_oReadDataBackgroundWorker.RunWorkerAsync(); // Start WriteData Thread t_oWriteDataBackgroundWorker = new BackgroundWorker(); t_oWriteDataBackgroundWorker.DoWork += new DoWorkEventHandler(Thread_WriteData); t_oWriteDataBackgroundWorker.WorkerSupportsCancellation = true; t_oWriteDataBackgroundWorker.WorkerReportsProgress = false; t_oWriteDataBackgroundWorker.RunWorkerAsync(); }