Winform中实现监控CPU内存使用率(附代码下载)
场景
效果
注:
博客主页:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
新建一个窗体页面,设计布局如下
左边CPU使用是两个Panel,右边是PregressBar,下面是StatusStrip,然后在页面添加一个Timer,
然后修改其代码如下
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Threading;
using System.Runtime.InteropServices;
using System.Management;
namespace CPU_Detect
{public partial class Form1 : Form{public Form1(){InitializeComponent();}Process[] MyProcesses;Thread td;private void myUser(){ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_Processor");foreach (ManagementObject myobject in searcher.Get()){tssluse.Text = myobject["LoadPercentage"].ToString()+" %";lblCPU.Text = myobject["LoadPercentage"].ToString() + " %";mheight = Convert.ToInt32(myobject["LoadPercentage"].ToString());if (mheight == 100)panel3.Height = 100;CreateImage();Memory();}}private void Memory(){Microsoft.VisualBasic.Devices.Computer myInfo = new Microsoft.VisualBasic.Devices.Computer();//获取物理内存总量pbMemorySum.Maximum = Convert.ToInt32(myInfo.Info.TotalPhysicalMemory/1024/1024);pbMemorySum.Value = Convert.ToInt32(myInfo.Info.TotalPhysicalMemory / 1024 / 1024);lblSum.Text = (myInfo.Info.TotalPhysicalMemory / 1024).ToString();//获取可用物理内存总量pbMemoryUse.Maximum = Convert.ToInt32(myInfo.Info.TotalPhysicalMemory / 1024 / 1024);pbMemoryUse.Value = Convert.ToInt32(myInfo.Info.AvailablePhysicalMemory / 1024 / 1024);lblMuse.Text = (myInfo.Info.AvailablePhysicalMemory / 1024).ToString();//获取虚拟内存总量pbVmemorysum.Maximum = Convert.ToInt32(myInfo.Info.TotalVirtualMemory / 1024 / 1024);pbVmemorysum.Value = Convert.ToInt32(myInfo.Info.TotalVirtualMemory / 1024 / 1024);lblVinfo.Text = (myInfo.Info.TotalVirtualMemory / 1024).ToString();//获取可用虚拟内存总量pbVmemoryuse.Maximum = Convert.ToInt32(myInfo.Info.TotalVirtualMemory / 1024 / 1024);pbVmemoryuse.Value = Convert.ToInt32(myInfo.Info.AvailableVirtualMemory/ 1024 / 1024);lblVuse.Text = (myInfo.Info.AvailableVirtualMemory / 1024).ToString();}private void Form1_Load(object sender, EventArgs e){CheckForIllegalCrossThreadCalls = false;MyProcesses = Process.GetProcesses();tsslNum.Text = MyProcesses.Length.ToString();myUser();}private void timer1_Tick(object sender, EventArgs e){MyProcesses = Process.GetProcesses();tsslNum.Text = MyProcesses.Length.ToString();td = new Thread(new ThreadStart(myUser));td.Start();}private void Form1_FormClosed(object sender, FormClosedEventArgs e){if (td != null){td.Abort();}}int mheight = 0;private void CreateImage(){int i=panel3.Height/100;Bitmap image = new Bitmap(panel3.Width,panel3.Height);//创建Graphics类对象Graphics g = Graphics.FromImage(image);g.Clear(Color.Green);SolidBrush mybrush = new SolidBrush(Color.Lime);g.FillRectangle(mybrush,0,panel3.Height-mheight*i,26,mheight*i);panel3.BackgroundImage = image;}}
}
代码下载
https://download.csdn.net/download/BADAO_LIUMANG_QIZHI/12243741
Winform中实现监控CPU内存使用率(附代码下载)相关推荐
- Winform中实现自定义屏保效果(附代码下载)
场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建form ...
- Winform中实现文件批量更名器(附代码下载)
场景 对一个文件夹中的文件进行某种格式的重命名 比如下面文件夹内的文件 程序运行效果 点击文件-打开,打开此文件夹后然后Ctrl+a全选此文件夹所有文件,点击打开 然后在序号设置中可以选择预设模板和起 ...
- ASP.NET的MVC中使用Cookie做身份验证(附代码下载)
场景 ASP.NET的MVC中使用Session做身份验证(附代码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1071 ...
- ASP.NET的MVC中使用Session做身份验证(附代码下载)
场景 ASP.NET中MVC编程模式简介与搭建HelloWorld项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10679 ...
- shell脚本监控cpu/内存使用率 转
该脚本检测cpu和内存的使用情况,只需要调整memorySetting.cpuSetting.userEmail要发邮件报警的email地址即可 如果没有配置发邮件参数的哥们,已配置了的,直接飞到代码 ...
- 记一次prometheus监控pod内存使用率错误使用sum函数引发的血案
prometheus监控pod内存使用率 发生背景 问题伊始 根因分析 解决方案: 发生背景 pod内存使用率过高需要自动重启pod防止被kill影响线上业务 制定计算规则 首先制定的规则:(cont ...
- ROI Align 在 R-FCN 中的推广:PSROI-Align(附代码)
ROI Align 在 R-FCN 中的推广:PSROI-Align(附代码) 1. Position Sensitive ROI-Pooling 简介 原文:https://blog.csdn.ne ...
- Ionic+Angular实现中英国际化(附代码下载)
场景 Ionic介绍以及搭建环境.新建和运行项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106308166 在上面搭建起 ...
- JPA中实现双向多对多的关联关系(附代码下载)
场景 JPA入门简介与搭建HelloWorld(附代码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103473937 ...
最新文章
- Forerunner:首个面向“多未来”的推测执行技术
- 作业32-完成评论功能
- .NET之Docker部署详细流程
- requestPermissions读写手机存储权限_泛圈云盘可为企业建立高效安全的云办公在线协同文档存储?...
- 单例在多线程中的使用
- java用中点画圆法_OpenGL通过中点法绘制直线和圆
- UE4 控制台管理器: 在C++中设置控制台变量
- GridView中使用CheckBox
- ORACLE表空间使用量查询SQL
- 现代通信技术之软交换技术和IMS技术
- FreeCAD源码分析: PartDesign模块
- 云计算与网格计算的区别
- Bitmap 图片缩放
- 计算机二级 word 论文,最新计算机二级第十四套word题目要求
- 微信聊天记录删除了怎么恢复?通过这几种方法可以找回
- Android RadarScanView雷达扫描控件
- Android逆向之旅---静态方式破解微信获取聊天记录和通讯录信息
- 外贸鞋店瞄上中高端小区
- unity3d求一个向量的垂直方向
- linux 视频采集软件,视频采集、截图多媒体处理工具FFmpeg
热门文章
- PAT甲级题目翻译+答案 AcWing(排序)
- CentOS7下安装Redis伪集群(基于Redis官方Cluster集群模式版本redis-5.0.10)
- springboot 的启动流程
- 你有没有觉得邮件发送人固定配置在yml文件中是不妥当的呢?SpringBoot 动态设置邮件发送人
- JVM中垃圾回收相关算法 - 值得了解一下的,因为早晚得了解
- ajax datatype_小白跟我一起学习ajax
- 电脑pdf阅读器哪个好用_电脑免费录屏软件哪个好用?这两个录屏方法千万别错过...
- mysql中有主键和外键吗_谈谈mysql的主键和外键
- python绘制数字_#0000在一个图片上画一个数字
- python 福利彩票_使用Python买福彩,5个数字,20选5,有没买过