c# - 如何在 WPF 中进行 CPU 使用控制

标签 c# .net wpf user-controls

我想制作一个与 Windows 任务管理器中使用的控件非常相似的控件,以显示 CPU 性能,类似于不断变化的垂直 Guage

最佳答案

您可以使用 WMI 通过 ManagementObjectSearcher 获取 CPU 使用值

为了获得值(value),你做这样的事情

var info = ManagementObjectSearcher(@"\\localhost\root\CIMV2","SELECT * FROM Win32_PerfFormattedData_PerfOS_Processor WHERE Name=\"_Total\"");
ManagementObject queryObj = info.Get().Cast<ManagementObject>().First();
var cpuUsage = Convert.ToInt32(queryObj["PercentIdleTime"]);

或者,您可以改用 System.Diagnostics PerformanceCounter

PerformanceCounter cpu = new PerformanceCounter(){
    CategoryName = "Processor",
    CounterName = "% Processor Time",
    InstanceName = "_Total"
};

var yourCpuUsageValue = cpu.NextValue();

关于c# - 如何在 WPF 中进行 CPU 使用控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9242970/

相关文章:

c# - 模型出现在查询字符串中的 MVC 问题

c# - ToString 在 .NET 462 和 .NET Core 3.1 之间具有不同的行为

c# - Entity Framework 数据库优先 如何更改实体以使其从基类派生

wpf - MVVM和SettingsBase

c# - WPF 和 XAML 中的 OxyPlot LineAnnotation 可见性

c# - 使用 Sharppcap 或 packetdotnet 发送 http post 数据包

c# - Entity Framework 、Oracle 和身份列

c# - 实现 2 个相似类的更好方法

.net - 有没有办法在一个dll中打包多个.NET程序集?

c# - WPF和WinForms Dispatcher应该统一吗?