效果如下

代码如下

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
using System.Windows.Forms;
using MaterialSkin.Controls;
using MaterialSkin;
using SerialCommunicate;
using Decimal = SerialCommunicate.Decimal;
using System.Management;namespace WindowsFormsApp2
{public partial class Form1 : MaterialForm{PerformanceCounter cpuCounter;PerformanceCounter ramCounter;private readonly MaterialSkinManager materialSkinManager;public Form1(){InitializeComponent();//主题构造函数materialSkinManager = MaterialSkinManager.Instance;materialSkinManager.EnforceBackcolorOnAllComponents = true;materialSkinManager.AddFormToManage(this);//主题参数materialSkinManager.Theme = MaterialSkinManager.Themes.DARK;materialSkinManager.ColorScheme = new ColorScheme( Primary.Grey700,Primary.Grey900,Primary.Grey600,Accent.Amber400,TextShade.WHITE);cpuCounter = new PerformanceCounter();cpuCounter.CategoryName = "Processor";cpuCounter.CounterName = "% Processor Time";cpuCounter.InstanceName = "_Total";cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");ramCounter = new PerformanceCounter("Memory", "Available MBytes");}private void Form1_Load(object sender, EventArgs e){textBox1.AppendText("\r\n" + "-----------------------------------------------------");string a = null; string a2 = null; string a4 = null; string a5 = null; string a1 = null; string a3 = null;ManagementObjectSearcher searcherd1 = new ManagementObjectSearcher("Select * From Win32_Processor");foreach (ManagementObject mo in searcherd1.Get()){a += mo["Name"].ToString().Trim() + "; ";a1 += mo["NumberOfCores"].ToString().Trim();a2 += mo["NumberOfLogicalProcessors"].ToString().Trim();a3 += mo["CurrentClockSpeed"].ToString().Trim();a4 += mo["DataWidth"].ToString().Trim() + "; ";a5 += mo["ProcessorId"].ToString().Trim() + "; ";}//处理器信息searcherd1.Dispose();textBox1.AppendText("\r\n"+ "处理器:     " + a);textBox1.AppendText("\r\n" + "核心:        " + a1 + "核心; ");textBox1.AppendText("\r\n" + "线程:        " + a2 + "线程; ");textBox1.AppendText("\r\n" + "主频:        " + a3.Substring(0, 1) + "." + a3.Substring(1, 2) + "Ghz; ");textBox1.AppendText("\r\n" + "架构:           " + a4);textBox1.AppendText("\r\n" + "CPUID:     " + a5);textBox1.AppendText("\r\n" + "-----------------------------------------------------" );//主板string b = null; string b2 = null; string b4 = null;string b1 = null; string b3 = null; string b5 = null;ManagementObjectSearcher searcherd2 = new ManagementObjectSearcher("Select * From Win32_BaseBoard");foreach (ManagementObject mo in searcherd2.Get()){b += mo["Product"].ToString().Trim() + "; ";b1 += mo["Manufacturer"].ToString().Trim() + "; ";b2 += mo["SerialNumber"].ToString().Trim() + "; ";b3 += mo["CreationClassName"].ToString().Trim() + "; ";b4 += mo["HotSwappable"].ToString().Trim() + "; ";b5 += mo["Status"].ToString().Trim() + "; ";}searcherd2.Dispose(); string systemboard = b1.ToUpper();if (systemboard.IndexOf("MICRO-STAR") != -1)textBox1.AppendText("微星 " + b);else if (systemboard.IndexOf("GALAX") != -1)textBox1.AppendText("\r\n" + "影驰 " + b);else if (systemboard.IndexOf("LENOVO") != -1)textBox1.AppendText("\r\n" + "联想 " + b);else if (systemboard.IndexOf("ASUS") != -1 || systemboard.IndexOf("ROG") != -1)textBox1.AppendText("\r\n" + "华硕 " + b);else if (systemboard.IndexOf("ASROCK") != -1)textBox1.AppendText("\r\n" + "华擎 " + b);else if (systemboard.IndexOf("GIGABYTE") != -1)textBox1.AppendText("\r\n" + "技嘉 " + b);else if (systemboard.IndexOf("SAPPHIRE") != -1)textBox1.AppendText("\r\n" + "蓝宝石 " + b);else if (systemboard.IndexOf("ACER") != -1)textBox1.AppendText("\r\n" + "宏碁 " + b);else if (systemboard.IndexOf("COLORFUL") != -1)textBox1.AppendText("\r\n" + "七彩虹 " + b);else if (systemboard.IndexOf("DELL") != -1)textBox1.AppendText("\r\n" + "戴尔 " + b);else if (systemboard.IndexOf("ONDA") != -1) textBox1.AppendText("\r\n" + "昂达 " + b);else if (systemboard.IndexOf("BIOSTAR") != -1)textBox1.AppendText("\r\n" + "映泰 " + b);else if (systemboard.IndexOf("MAXSUN") != -1)textBox1.AppendText("\r\n" + "铭瑄 " + b);else if (systemboard.IndexOf("SOYO") != -1)textBox1.AppendText("\r\n" + "梅捷 " + b);else if (systemboard.IndexOf("TOPSTAR") != -1)textBox1.AppendText("\r\n" + "顶星 " + b);else if (systemboard.IndexOf("CLEVO") != -1)textBox1.AppendText("\r\n" + "蓝天 " + b);else if (systemboard.IndexOf("Quanta") != -1)textBox1.AppendText("\r\n" + "广达 " + b);else if (systemboard.IndexOf("HASEE") != -1)textBox1.AppendText("\r\n" + "磐英 " + b);else if (systemboard.IndexOf("HUANAN") != -1)textBox1.AppendText("\r\n" + "华南 " + b);else if (systemboard.IndexOf("HP") != -1)textBox1.AppendText("\r\n" +"主板:"+ "惠普 " + b);else textBox1.AppendText(b);textBox1.AppendText("\r\n" + "主板厂家:     " + b1); textBox1.AppendText("\r\n" + "主板型号:     " + b); textBox1.AppendText("\r\n" + "主板序列:     " + b2); textBox1.AppendText("\r\n" + "主板类名:     " + b3); textBox1.AppendText("\r\n" + "热插拔:        " + b4); textBox1.AppendText("\r\n" + "主板状态:     " + b5);textBox1.AppendText("\r\n" + "-----------------------------------------------------");//内存double capacity = 0; string D = null; string D2 = null; string D4 = null; string D5 = null; string D1 = null; string D3 = null; string D6 = null;ManagementObjectSearcher searcherd5 = new ManagementObjectSearcher("Select * From Win32_PhysicalMemory");foreach (ManagementObject mo in searcherd5.Get()){try{capacity += Math.Round(Int64.Parse(mo.Properties["Capacity"].Value.ToString().Trim()) / 1024 / 1024 / 1024.0, 1);}catch (Exception){capacity = 0;}D += Math.Round(Int64.Parse(mo.Properties["Capacity"].Value.ToString()) / 1024 / 1024 / 1024.0, 1).ToString() + "G" + " (" + mo["Speed"].ToString() + "MHz) " + "; ";D1 += mo["manufacturer"].ToString().Trim() + "; ";D2 += mo["Speed"].ToString().Trim() + "MHz; ";D3 += Math.Round(Int64.Parse(mo.Properties["Capacity"].Value.ToString().Trim()) / 1024 / 1024 / 1024.0, 1).ToString() + "G; ";D4 += mo["SerialNumber"].ToString().Trim() + "; ";D5 += mo["DataWidth"].ToString().Trim() + "; ";D6 += mo["DeviceLocator"].ToString().Trim() + "; ";searcherd5.Dispose();}if (systemboard.IndexOf("GALAXY MICROSYSTEMS LTD") != -1){textBox1.AppendText("\r\n" + "内存厂商:     " + systemboard.Replace("GALAXY MICROSYSTEMS LTD", "影驰"));}else if (systemboard.IndexOf("SAMSUNG") != -1){textBox1.AppendText("\r\n" + "内存厂商:     " + systemboard.Replace("SAMSUNG", "三星"));}else if (systemboard.IndexOf("04CB") != -1){textBox1.AppendText("\r\n" + "内存厂商:     " + systemboard.Replace("04CB", "威刚"));}elsetextBox1.AppendText("\r\n" + "内存厂商:     " + D1);if (capacity != 0){textBox1.AppendText("\r\n" + D + "共" + capacity + "G; ");}else textBox1.AppendText(D);textBox1.AppendText("\r\n" + "内存频率:     " + D2);textBox1.AppendText("\r\n" + "内存容量:     " + D3);textBox1.AppendText("\r\n" + "内存总量:     " + capacity + "G; ");textBox1.AppendText("\r\n" + "序列号:        " + D4);textBox1.AppendText("\r\n" + "数据宽度:     " + D5);textBox1.AppendText("\r\n" + "控制器:        " + D6);}private void materialButton2_Click(object sender, EventArgs e){serial frm2 = new serial();frm2.Show();}private void materialButton3_Click(object sender, EventArgs e){Decimal frm2 = new Decimal();frm2.Show();}private void textBox1_TextChanged(object sender, EventArgs e){//textBox1.Text = "组件初始化";}private void timer1_Tick(object sender, EventArgs e){//cpu利用率float cpu = cpuCounter.NextValue();String num = cpu.ToString("0.0");label1.Text="CPU使用率:" + num + " %";//内存利用率label2.Text = ("可使用内存:" + (ramCounter.NextValue()/160).ToString("0.0") + " %");}private string ToString(float v){throw new NotImplementedException();}}
}

参考GitHub - weiyourumeng/RM-Toolbox: 入梦工具箱

做了一些改动

cpu占有率不太准确

待优化

winform c# 获取电脑配置信息和cpu 内存使用率相关推荐

  1. Java.Utils:获取电脑配置信息

    Don't say much, just go to the code. package org.bood.common.utils;import java.io.*;/*** 获取电脑配置信息** ...

  2. C#获取电脑硬件信息(CPU ID、主板ID、硬盘ID、BIOS编号

    C#获取电脑硬件信息(CPU ID.主板ID.硬盘ID.BIOS编号 http://www.cnblogs.com/liufei88866/archive/2010/05/11/1732671.htm ...

  3. 查看服务器硬件配置信息(cpu/内存)

    1.查看cpu情况: 方法一:    Linux下CPU相关的参数保存在 /proc/cpuinfo 文件里    cat /proc/cpuinfo |more    方法二:    采用命令 dm ...

  4. c#获取电脑硬件信息参数说明(CPU篇 Win32_Processor)

    AddressWidth  --在32位操作系统,该值是32,在64位操作系统是64. Architecture  --所使用的平台的处理器架构. AssetTag  --代表该处理器的资产标签. A ...

  5. python电脑配置要求-Python--获取电脑配置信息--设计代码

    获取电脑配置信息 环境:win 7 x64  (pycharm + wmi模块 + os 模块 ) 说明:准备获取域控环境下所有局域网客户端的电脑配置的准备设计,获取信息并保存下来. 代码部分: im ...

  6. python获取电脑硬件信息_Python实现的读取电脑硬件信息功能示例

    本文实例讲述了Python实现的读取电脑硬件信息功能.分享给大家供大家参考,具体如下: 上学那会,老师让我用java获取电脑硬件信息,CPU, 硬盘,MAC等,那个时候感觉搞了好久...... 今天, ...

  7. python电脑配置-Python--获取电脑配置信息--设计代码

    获取电脑配置信息 环境:win 7 x64  (pycharm + wmi模块 + os 模块 ) 说明:准备获取域控环境下所有局域网客户端的电脑配置的准备设计,获取信息并保存下来. 代码部分: im ...

  8. Python--获取电脑配置信息--完整代码及过程

    需求 公司准备搬迁,需要统计一下公司IT固定资产,打开前任的统计表格,里面没有详细配置.根据自己的现有知识跟想法来进行设计主动上传各个电脑及服务器的配置信息到指定路径. 想法: 设计软件--域服务器( ...

  9. 获取MAC OS苹果电脑配置信息,发送到企业微信机器人自动提醒

    import subprocess import requests import time import jsonclass MacInfo:def __init__(self):self.strSe ...

最新文章

  1. matlab求解极限与倒数,matlab实验二__极限与导数
  2. JDK 8中的Oracle Drops Collection文字
  3. 无线运维——J2ME和WAP运维方式的优缺点
  4. 用WebCollector制作一个爬取《知乎》并进行问题精准抽取的爬虫(JAVA)
  5. oracle添加已有的实例,Oracle数据库怎么添加新的实例?,oracle实例
  6. [ubuntu] ubuntu20.04 卸载 firefox 下载 chrome
  7. 【java】字符串和基本数据类型之间的转换
  8. python_07 函数作用域、匿名函数
  9. 计算机组成原理在线实验,计算机组成原理编程实验
  10. php中eregi,PHP 函数 eregi()
  11. (轉貼) 寶蘭開發工具部門將分割成完全獨立的子公司 (C/C++) (News)
  12. tda4vm如何SPL方式加载MCU域的核?
  13. 你的睡眠时间和睡眠质量达标了么
  14. mysql executing_MySQL数据库出现慢查询的危害
  15. 《计算广告》第一部分计算广告关键技术——笔记
  16. KNN+Dense SIFT+手势识别
  17. 51 单片机 蜂鸣器
  18. 计算机网络中 冲突域、广播域
  19. 避免后台进程被杀死的几种方法
  20. Swift字符串转16进制+字符串过滤

热门文章

  1. autorun.inf文件命令解释
  2. uoj#36. 【清华集训2014】玛里苟斯(线性基+概率期望)
  3. 新概念英语Unit8
  4. 【2020-09-29】JS逆向之企名片encrypt_data数据解密--超详细
  5. 计算机保研记:北京交通大学
  6. C语言 兔子繁殖问题
  7. 本地图书管理:通过calibre-web打造个人在线书城
  8. 使用html+css+js制作小米首页
  9. 7-38 等边三角形面积
  10. bzoj 2803 [POI2012]prefixuffix hsh+性质