2011-07-20 4 views
3

可能な重複のWindowsエクスペリエンスインデックスの値を取得する:.NETを使用して
Retrieve Windows Experience Ratingはプログラムによる

、プログラム的にWindowsエクスペリエンスインデックスの現在値を照会するための方法ですが?

+2

参照[これは] [1] に答えるStackOverflowの確認[1]:http://stackoverflow.com/questions/479435/retrieve-windows-experience –

+0

Matthew、これを回答として投稿してください。正しくマークすることができます。ありがとう。 – Ian

+0

Lol、私はしましたが、SOが "Trivial answer"のためにそれを変換しました...もう一度やり直します。 –

答えて

3

StackOverflowエンジンはこれをオートコンマ区切りに変換しないことを願っています。

参照thisスタックオーバーフローの答えは:

2

別のオプションは、より多くの情報とWMIクラスWin32_WinSATためIProvideWinSATResultsInfoインタフェースを確認し、このタスクにWinSAT Interfacesを使用しています。

このサンプルコード

using System; 
using System.Collections.Generic; 
using System.Management; 
using System.Text; 

namespace ConsoleApplication13 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      try 
      { 
       ManagementObjectSearcher searcher = 
        new ManagementObjectSearcher("root\\CIMV2", 
        "SELECT * FROM Win32_WinSAT"); 

       foreach (ManagementObject queryObj in searcher.Get()) 
       { 
        Console.WriteLine("CPUScore: {0}", queryObj["CPUScore"]); 
        Console.WriteLine("D3DScore: {0}", queryObj["D3DScore"]); 
        Console.WriteLine("DiskScore: {0}", queryObj["DiskScore"]); 
        Console.WriteLine("GraphicsScore: {0}", queryObj["GraphicsScore"]); 
        Console.WriteLine("MemoryScore: {0}", queryObj["MemoryScore"]); 
        Console.WriteLine("TimeTaken: {0}", queryObj["TimeTaken"]); 
        Console.WriteLine("WinSATAssessmentState: {0}", queryObj["WinSATAssessmentState"]); 
        Console.WriteLine("WinSPRLevel: {0}", queryObj["WinSPRLevel"]); 
       } 
      } 
      catch (ManagementException e) 
      { 
       Console.WriteLine(e.Message); 
      } 
      Console.Read(); 
     } 
    } 
} 
+0

64ビット環境で、サンプルが/ platform:x86でコンパイルされた場合、結果は常にゼロになり、WinSATAssessmentStateは3になります。 – sjlewis

関連する問題