检索 Windows 体验评级
我希望在 C# 中检索计算机的 Windows 体验评级。 如果可能的话,我还想检索每个组件(图形、RAM 等)的编号。
这可能吗?
I'm looking to retrieve a machine's windows experience rating in C#. If possible I would also like to retrieve the numbers for each component (Graphics, RAM etc.)
Is this possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
每次用户通过控制面板计算 Windows 体验评级时,系统都会在
%Windows%\Performance\WinSAT\DataStore\
中创建一个新文件,您需要找到最新的文件(它们是首先以最重要的日期命名,因此查找最新文件很简单)。
这些文件是 xml 文件,很容易使用 XmlReader 或其他 xml 解析器进行解析。
您感兴趣的部分是
WinSAT\WinSPR
,并且在单个部分中包含所有分数。 例如Every time the user goes through control panel to calculate the Windows Experience Rating, the system creates a new file in
%Windows%\Performance\WinSAT\DataStore\
You need to find the most recent file (they are named with the most significant date first, so finding the latest file is trivial).
These files are xml files and are easy to parse with XmlReader or other xml parser.
The section you are interested in is
WinSAT\WinSPR
and contains all the scores in a single section. E.g.与 LINQ 相同:
Same with LINQ:
这里是 VB.NET 的代码片段。 转换为C#(使用这个,我还没有实际测试过代码还没有,虽然看起来没问题)。
我想它只会返回总体评分,但希望它至少能让您开始。 可能只需更改文件名/参数即可获得单独的评级。
Here is a snippet for VB.NET. Converted to C# (using this, I haven't actually tested the code yet, though it looks to be fine).
I guess it only returns the overall rating, but hopefully it should get you started at least. It may only be a matter of changing a filename/parameter to get the individual ratings.