2010-02-14 169 views
1

你好,我有一個問題。我正在嘗試使用WMI列出有關磁盤的信息。當我從WMI代碼創建者運行代碼時,一切都很順利,我得到了我正在尋找的信息。當我從應用程序運行代碼時,我正在編寫一個從foreach循環中拋出的無效類錯誤。WMI ManagementObjectSearcher無效的類

我寫的代碼與WMI生成的代碼基本相同,只是輸出不同。我可能會做錯什麼。這是我寫的代碼。

 public List<diskData> getDiskInfo() 
    { 
     List<diskData> dData = new List<diskData>(); 
     diskData mydisk = null; 
     try 
     { 
      ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM W32_LogicalDisk"); 
      foreach (ManagementObject item in searcher.Get()) 
      { 
       mydisk.name = Convert.ToString(item["Name"]); 
      } 
      return dData; 

     } 
     catch (Exception ex) 
     { 
      Console.WriteLine("This is the Message: " + ex.Message); 
      return dData; 
     } 

    } 

感謝您提供任何幫助。

保羅

+0

這可能是「root \\ CIMV2」的問題嗎?你確定它是正確的嗎? – 2010-02-14 09:32:54

+0

是這個部分是正確的。 – Adeian 2010-02-14 23:05:04

回答

1

在WMI查詢中的Win32_LogicalDisk類名稱拼寫錯誤爲W32_LogicalDisk

+2

當我這樣做時,我討厭它。更糟糕的是,當我在公共場合如此做。 :)謝謝你看到我。我將在一天中的其餘時間隱藏在封面下。 – Adeian 2010-02-14 23:03:53