2017-02-06 6 views
0

open()を実行しているとき、私のプログラムから2つの例外があります。openhardwareのモニタ例外

私はすでに多くの検索を行いましたが、解決できませんでした。 誰かが私を助けてくれる、私はプログラミングに熱心です。だから、私はこれらのエラーを解決するためにはよく分かりません。

public void tempcpu() 
{ 
    myComputer = new Computer() 
    { 
     MainboardEnabled = true, 
     CPUEnabled = true, 
     RAMEnabled = true, 
     GPUEnabled = true, 
     FanControllerEnabled = true, 
     HDDEnabled = true 
    }; 
    myComputer.Open(); 

    float averange = 0; 
    foreach (var hardware in myComputer.Hardware) 
    { 
     if (hardware.HardwareType == HardwareType.CPU) 
     { 
      hardware.Update(); 
      foreach (var sensor in (hardware.Sensors))enter code here 
       if (sensor.SensorType == SensorType.Temperature) 
       {if(sensor.Value!= null) 
      averange = averange + sensor.Value.Value; 
       } 
      } 
     cpu = averange/5; 
     myComputer.Close(); 
    } 
} 

例外:

enter image description here

enter image description here

+0

:-)あなたの方法の真ん中にenter code hereを持っていないでしょうか?もしわかりませんか – BWA

+0

以下の画像にあります –

+0

この例外はどのコードで発生しますか? – BWA

答えて

0

あなたforeachループからmyComputer.Close();を削除し、その後場合置きます。あなたはループの最初の反復の後にmyComputerを閉じて、再びそれにアクセスしようとしているので、あなたのArgumentOutOfRangeExceptionです。

また

そのタイプミスかのか、それはあなたのコードの一部ですが、あなたはどのような例外

+0

私はすでにclose()を削除しても、同じエラーを返します。 mycomputer.open()で例外として返されます。 –

+0

これを完全に削除したのか、単に 'foreach'ループから削除しましたか? –

+0

foreachループからちょうど –

関連する問題