2012-03-28 3 views
-2

как вы кодируете код c, чтобы получить информацию WMI, такую ​​как общая память, использование процессора с использованием «счетчика производительности».C резкий код для получения информации WMI

+1

спросил на SO ранее ... –

+0

попробуйте http://www.codeproject.com/Articles/26310/Using-WMI-to-retrieve-processor-information-in-C –

+0

Так вы можете помочь? – user1297661

ответ

1
private static PerformanceCounter cpuCounter; 
private static PerformanceCounter memoryCounter; 

[...] 

cpuCounter = new PerformanceCounter 
{ 
    CategoryName = "Processor", 
    CounterName = "% Processor Time", 
    InstanceName = "_Total" 
}; 


memoryCounter = new PerformanceCounter 
{ 
    CategoryName = "Memory", 
    CounterName = "Available Bytes" 
}; 

[...] 

public double CpuUsage 
{ 
    get 
    { 
     lock (lockToken) 
     { 
      return Math.Round(cpuCounter.NextValue(), 2); 
     } 
    } 
} 

public double MemoryUsage 
{ 
    get 
    { 
     lock (lockToken) 
     { 
      return Math.Round(memoryCounter.NextValue()/totalMemory * 100, 2); 
     } 
    } 
    } 

Общая память:

using (var searcher = new ManagementObjectSearcher("SELECT totalphysicalmemory FROM Win32_ComputerSystem")) 
     { 
      using (var wmiData = searcher.Get()) 
      { 
       foreach (var mo in wmiData) 
       { 
        totalMemory = long.Parse(mo["totalphysicalmemory"].ToString()); 
       } 
      } 
     } 

Чтобы получить виртуальную память, Вы должны будете сделать некоторые исследования самостоятельно.

+0

благодарит тонну. Как вы получаете общую доступную память и виртуальную память. – user1297661

+0

@ user1297661, см. Мое редактирование. – lurkerbelow

+0

СПАСИБО ЗА ПОМОЩЬ – user1297661

Смежные вопросы