簡體   English   中英

如何從ManagementObject搜索中獲得計數?

[英]How can I get a count from ManagementObject search?

我有一些代碼可以從C#的WMI中獲取一些信息,以便將監視器連接到計算機。 代碼是這樣的...

String queryString = "Select * from Win32_DesktopMonitor";
ManagementObjectSearcher searcher = new ManagementObjectSearcher(queryString)
foreach (ManagementObject obj in searcher.Get())
{
    ...
}

我如何找出此查詢返回的對象個數,而在枚舉期間不計算?

對此非常陌生,請保持溫柔! :-)

我認為您必須運行Get()函數才能獲取對象數:

  String queryString = "Select * from Win32_DesktopMonitor";
  ManagementObjectSearcher searcher = new ManagementObjectSearcher(queryString);
  MessageBox.Show("Found: " + searcher.Get().Count.ToString());

我想您不是在問:

String queryString = "Select * from Win32_DesktopMonitor";
ManagementObjectSearcher searcher = new ManagementObjectSearcher(queryString);
Int32 i = 0;
foreach (ManagementObject obj in searcher.Get())
{
  i++;
}
// I have one computer so, i = 1

最好的方法是在類ManagementObjectColletion或ManagementObjectSearcher中使用Count方法。 如果您要使用結果,那么更好的方法如下:

ManagementObjectCollection jobs = searchJob.Get();

並進行如下驗證:

if(jobs.Count > number) do

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM