因此,我设法编写了一个类,它允许我访问 WMI 并获取有关类的信息,包括它们的方法,以及类及其后续方法的所有属性。我无法在 C# 中的 System.Management 或 System.Management.Instrumentation 类下找到任何允许我在主类或方法中访问 WMI 中属性的 CIM 数据类型的内容。有谁知道我可以获得这些数据类型的方法?
问问题
1399 次
1 回答
3
要获取 WMI 类的元数据(如 cimtype、值、名称),您可以使用PropertyData
该类。
试试这个来自 MSDN 的示例代码
using System;
using System.Management;
public class Sample
{
public static void Main()
{
// Get the WMI class
ManagementClass osClass =
new ManagementClass("Win32_OperatingSystem");
osClass.Options.UseAmendedQualifiers = true;
// Get the Properties in the class
PropertyDataCollection properties =
osClass.Properties;
// display the Property names
Console.WriteLine("Property Name: ");
foreach (PropertyData property in properties)
{
Console.WriteLine(
"---------------------------------------");
Console.WriteLine(property.Name);
Console.WriteLine("Description: " + property.Qualifiers["Description"].Value);
Console.WriteLine();
Console.WriteLine("Type: ");
Console.WriteLine(property.Type);
Console.WriteLine();
Console.WriteLine("Qualifiers: ");
foreach(QualifierData q in
property.Qualifiers)
{
Console.WriteLine(q.Name);
}
Console.WriteLine();
foreach (ManagementObject c in osClass.GetInstances())
{
Console.WriteLine("Value: ");
Console.WriteLine(c.Properties[property.Name.ToString()].Value);
Console.WriteLine();
}
}
}
于 2014-11-27T02:42:47.610 回答