0

因此,我设法编写了一个类,它允许我访问 WMI 并获取有关类的信息,包括它们的方法,以及类及其后续方法的所有属性。我无法在 C# 中的 System.Management 或 System.Management.Instrumentation 类下找到任何允许我在主类或方法中访问 WMI 中属性的 CIM 数据类型的内容。有谁知道我可以获得这些数据类型的方法?

4

1 回答 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 回答