首页 > 编程语言 >C#获取CPU使用率 - 开源研究系列文章

C#获取CPU使用率 - 开源研究系列文章

时间:2024-04-29 21:23:28浏览次数:15  
标签:sender C# interval Enabled private 开源 使用率 CPU

       这次想编写一个CPU使用率的小应用,于是就用此例子来记录了这个代码。下面是源码:

using System;
using System.Diagnostics;
using System.Windows.Forms;

namespace WindowsFormsApp
{
    public partial class Form1 : Form
    {
        /// <summary>
        /// 性能计数器
        /// </summary>
        private PerformanceCounter cpuUsage;

        /// <summary>
        /// 使用率
        /// </summary>
        private float interval;

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.TimerCPUUseage.Enabled = true;
            this.button1.Enabled = false;
            this.button2.Enabled = true;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            cpuUsage.Close();
            this.TimerCPUUseage.Enabled = false;
            this.button1.Enabled = true;
            this.button2.Enabled = false;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            cpuUsage = new PerformanceCounter("Processor Information", "% Processor Utility", "_Total");

            this.button1_Click(sender, e);
        }

        private void TimerCPUUseage_Tick(object sender, EventArgs e)
        {
            interval = Math.Min(100, cpuUsage.NextValue()); // Sometimes got over 100% so it should be limited to 100%
            this.lblTitle.Text = $"CPU: {interval:f1}%";
            interval = 200.0f / (float)Math.Max(1.0f, Math.Min(20.0f, interval / 5.0f));
        }
    }
}

       这里记录了C#里获取显示CPU使用率的一个例子,为后面的那个小应用做铺垫吧。

标签:sender,C#,interval,Enabled,private,开源,使用率,CPU
From: https://www.cnblogs.com/lzhdim/p/18166666

相关文章

  • Asp-Net-Core开发笔记:使用AOP实现动态审计日志功能
    前言#最近一直在写Go和Python,好久没写C#,重新回来写C#代码时竟有一种亲切感~说回正题。在当今这个数字化迅速发展的时代,每一个操作都可能对业务产生深远的影响,无论是对数据的简单查询,还是对系统配置的修改。在这样的背景下,审计日志不仅仅是一种遵循最佳实践的手段,更是......
  • 使用 docker 部署 AspNetCore 应用:使用alpine镜像并加入健康检查和瘦身
    前言#使用docker部署AspNetCore应用已经是标配了,之前我一直使用mcr.microsoft.com/dotnet/aspnet:8.0这类镜像,简单粗暴,不过可以使用alpine进一步优化镜像大小。很多开源工具的docker都有健康检查,这次我顺便也给加上了。PS:本文的例子项目来自一个差点被砍掉的项目......
  • CSS Counter Styles
    CSSCounterStyles允许您自动对HTML文档中的元素进行编号或标记。我们定义一个具有特定名称和起始值的counter,然后根据CSS规则递增或递减该计数器。使用counter-reset属性定义计数器,设置其起始值,然后使用counter-increment属性根据需要递增或递减计数器。还可以使......
  • AtCoder-abc350_f 题解
    原题链接题意简述给定一个字符串\(S\),对于每个匹配的括号,将括号内的字符左右翻转并大小写反转,然后删除括号。输出最后的序列。思路本题为文艺平衡树的模板题。扫一遍字符串进行括号匹配,每次把最内层的括号进行操作。最后遍历一遍平衡树,将不为括号字符的字符输出。FHQ_Treap......
  • 基于electron-store的最佳实践封装工具类
    基于之前讨论的electron-store最佳实践,以下是一个更加完善和健壮的封装示例,包含了类型处理、默认值设定、以及一些实用方法,以适应更复杂的场景://storeUtil.jsconstStore=require('electron-store');constapp=require('electron').app;classStoreUtil{constructor......
  • VIT模型压缩综述(Comprehensive Survey of Model Compression and Speed up for Vision
    摘要:  VIT是计算机视觉的开山之作,在不同的领域都表现了优越的性能.但是过大的计算量和内存需求,限制了其使用.该篇综述研究了并评估了四种模型压缩的方法,在VIT上的作用:量化,低秩分解,知识蒸馏,剪枝.系统的分析并比较了这些方法在资源受限的环境下,优化VIT方面的效果.我们......
  • Cirqueue
    循环队列原则:遵循先进先出队首:Tail/Rear队尾:Head/Front由于队列是循环的,为了区分空队列和满队列(尾指针等于首指针)以及下标越界的情况,循环队列会空最后一个元素的位置用于区分,判断满队列的条件为(Manager->Rear+1)%Manager->Size==Manager->Front1.循环队列结构......
  • css中内容content部分垂直居中的方法
     1、vertical-align属性让文字居中  vertical-align值有很多,常用的就是middle,bottom,text-bottom等,然而真实使用的时候,我们会发现这个属性“时灵时不灵”,有些情况下我们加了这个属性之后仍然不见img或者text有任何的变化。那是因为vertical-align只作用在inline-block或者inl......
  • 深入理解 C++ 中的多态与文件操作
    C++多态多态(Polymorphism)是面向对象编程(OOP)的核心概念之一,它允许对象在相同操作下表现出不同的行为。在C++中,多态通常通过继承和虚函数来实现。理解多态想象一个场景,你有一个动物园,里面有各种动物,如猫、狗、鸟等。每个动物都有自己的叫声。使用面向对象编程,我们可以创建一个......
  • 保姆级指南,从0到1打造你的个人开源项目
    前言各位好久不见,有些小伙伴可能知道大概1年多以前我开始维护log-record项目(Java业务操作日志记录框架)。这期间项目陆陆续续更新迭代、发布新版本,一路走来也踩了不少坑。这篇文章主要是想给希望开始写开源项目的同学们一些开源项目维护的实操建议,也算是给自己梳理一下做一个开源......