我目前正在从事的项目涉及很多与硬件有关的事情。因此,我使用了很多WMI相关的代码。我在几个MSDN页面(例如Win32_Fan)上注意到,有些CIM方法尚未实现,因此无法使用。 例如,我要使用CIM_Fan方法SetSpeed。 MSDN page of this method说:
WMI当前未实现此方法。要使用此方法,必须在自己的提供程序中实现。
本文档摘自DMTF发布的CIM类描述。 Microsoft可能已进行了更改,以纠正一些小错误,符合Microsoft SDK文档标准或提供更多信息。
我对此信息有很多疑问:
首先,我认为我不太了解它们的含义。 说我必须在自己的提供程序中实现该方法。我需要 实际修改使我的PC运行的脚本?
其次,我不了解如何在语法上使用CIM方法。
如果有人对这两个问题的答案有任何想法,将不胜感激。
答案 0 :(得分:0)
您可以使用:Open Hardware Monitor公开您肯定需要的所有类。它还提供了很多现成的信息。
对于WMI,您还可以使用ORMi库。使用极其简单,例如,它带来有关处理器的信息:
var processors = helper.Query("SELECT * FROM Win32_Processor");
或带有类型对象的
[WMIClass("Win32_Processor")]
public class Processor
{
[WMIIgnore]
public string NonRequiredProp { get; set; }
public string Name { get; set; }
[WMIProperty("NumberOfCores")]
public int Cores { get; set; }
public string Description { get; set; }
}
然后查询:
List<Processor> procesors = helper.Query<Processor>().ToList();