比如如下的VBS语句应如何改成C#的: 
strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

解决方案 »

  1.   


        ConnectionOptions options = new ConnectionOptions();
        options.Impersonation = ImpersonationLevel.Impersonate;                          //<----
        ManagementScope scope = new ManagementScope(@"\\.\root\cimv2", options);         //<----    ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
        ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);    foreach (ManagementObject o in searcher.Get())
        {
            string s = "";
            foreach (PropertyData p in o.Properties)
            {
                s += p.Name + ":" + p.Value + "\n";
            }
            MessageBox.Show(s);
        }