//int tempIndex = 0; public GPUInfo(string GPUId) { MAGPUId = GPUId.Trim(); MAState = MSIABControl.Start(0); if (MAState == MSIABControlState.Success) { //for (int i = 0; i < MSIABControl.GpuCount; i++) //{ // if (MSIABControl.MAHM.GpuEntries[i].GpuId.ToUpper().Trim() == MAGPUId.ToUpper()) // { // MAIndex = i; // DeviceName = MSIABControl.MAHM.GpuEntries[i].Device; // break; // } //} //for (int i = 0; i <= MAIndex; i++) //{ // if (MSIABControl.MAHM.GpuEntries[i].Device == DeviceName) // tempIndex++; //} OHIndex = MSIABControl.GetAtiNvidiaCardIndex(GPUId); } if ((DeviceName != "") && (OHIndex >= 0))//(tempIndex>0)) { OHComputer.Open(); OHComputer.GPUEnabled = true; //for (int i = 0; i < OHComputer.Hardware.Length; i++) //{ // if (OHComputer.Hardware[i].Name.ToUpper().Contains(DeviceName.ToUpper()) || DeviceName.ToUpper().Contains(OHComputer.Hardware[i].Name.ToUpper())) // { // tempIndex--; // if (tempIndex == 0) // { // OHIndex = i; // break; // } // } //} if (OHComputer.Hardware[OHIndex].Name.ToUpper() != DeviceName.ToUpper()) { OHIndex = -1; } if (OHIndex >= 0) { for (int j = 0; j < OHComputer.Hardware[OHIndex].Sensors.Length; j++) { string _name = OHComputer.Hardware[OHIndex].Sensors[j].Name.Trim().ToUpper(); switch (OHComputer.Hardware[OHIndex].Sensors[j].SensorType) { case SensorType.Clock: if (_name.Contains(OHCoreIndexName.ToUpper())) { OHCoreClockIndex = j; } else if (_name.Contains(OHMemoryIndexName.ToUpper())) { OHMemoryClockIndex = j; } break; case SensorType.Temperature: if (_name.Contains(OHCoreIndexName.ToUpper())) { OHCoreTemperatureIndex = j; } break; case SensorType.Control: if (_name.Contains(OHFanIndexName.ToUpper())) { OHControlFanIndex = j; } break; default: break; } } } OHComputer.Close(); } }