C#获取计算机信息

目录
效果
项目
代码
下载
效果

项目

代码
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.Management;
namespace 获取计算机信息
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
/// <summary>
/// 获取计算机硬件信息
/// </summary>
/// <param name="path">部件</param>
/// <param name="key">键值</param>
/// <returns></returns>
public string GetComputerHardWareInfo(string path, string key)
{
try
{
ManagementClass managementClass = new ManagementClass(path);
ManagementObjectCollection moc = managementClass.GetInstances();
PropertyDataCollection properties = managementClass.Properties;
foreach (var property in properties)
{
if (property.Name == key)
{
foreach (var mo in moc)
{
return mo.Properties[property.Name].Value.ToString();
}
}
}
}
catch (Exception ex)
{
//记录异常信息
}
return string.Empty;
}
private void button1_Click(object sender, EventArgs e)
{
//获取CPU ID
string CPU_ID = GetComputerHardWareInfo("Win32_Processor", "ProcessorId");
//获取主板序列号
string Board_SN = GetComputerHardWareInfo("Win32_BaseBoard", "SerialNumber");
//获取硬盘序列号
string Disk_SN = GetComputerHardWareInfo("Win32_DiskDrive", "Model");
string UUID = GetComputerHardWareInfo("Win32_ComputerSystemProduct", "UUID");
// 获取机器名
string MachineName = Environment.MachineName;
string OSVersion = Environment.OSVersion.VersionString.ToString();
string UserName = Environment.UserName;
string OperatingSystem = GetComputerHardWareInfo("Win32_OperatingSystem", "Caption");
StringBuilder sb = new StringBuilder();
sb.AppendLine(string.Format("CPU_ID:{0}", CPU_ID));
sb.AppendLine(string.Format("Board_SN:{0}", Board_SN));
sb.AppendLine(string.Format("Disk_SN:{0}", Disk_SN));
sb.AppendLine(string.Format("UUID:{0}", UUID));
sb.AppendLine(string.Format("MachineName:{0}", MachineName));
sb.AppendLine(string.Format("OSVersion:{0}", OSVersion));
sb.AppendLine(string.Format("UserName:{0}", UserName));
sb.AppendLine(string.Format("OperatingSystem:{0}", OperatingSystem));
textBox1.Text = sb.ToString();
}
}
}
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.Management;namespace 获取计算机信息
{public partial class Form1 : Form{public Form1(){InitializeComponent();}/// <summary>/// 获取计算机硬件信息/// </summary>/// <param name="path">部件</param>/// <param name="key">键值</param>/// <returns></returns>public string GetComputerHardWareInfo(string path, string key){try{ManagementClass managementClass = new ManagementClass(path);ManagementObjectCollection moc = managementClass.GetInstances();PropertyDataCollection properties = managementClass.Properties;foreach (var property in properties){if (property.Name == key){foreach (var mo in moc){return mo.Properties[property.Name].Value.ToString();}}}}catch (Exception ex){//记录异常信息}return string.Empty;}private void button1_Click(object sender, EventArgs e){//获取CPU IDstring CPU_ID = GetComputerHardWareInfo("Win32_Processor", "ProcessorId");//获取主板序列号string Board_SN = GetComputerHardWareInfo("Win32_BaseBoard", "SerialNumber");//获取硬盘序列号string Disk_SN = GetComputerHardWareInfo("Win32_DiskDrive", "Model");string UUID = GetComputerHardWareInfo("Win32_ComputerSystemProduct", "UUID");// 获取机器名string MachineName = Environment.MachineName;string OSVersion = Environment.OSVersion.VersionString.ToString();string UserName = Environment.UserName;string OperatingSystem = GetComputerHardWareInfo("Win32_OperatingSystem", "Caption");StringBuilder sb = new StringBuilder();sb.AppendLine(string.Format("CPU_ID:{0}", CPU_ID));sb.AppendLine(string.Format("Board_SN:{0}", Board_SN));sb.AppendLine(string.Format("Disk_SN:{0}", Disk_SN));sb.AppendLine(string.Format("UUID:{0}", UUID));sb.AppendLine(string.Format("MachineName:{0}", MachineName));sb.AppendLine(string.Format("OSVersion:{0}", OSVersion));sb.AppendLine(string.Format("UserName:{0}", UserName));sb.AppendLine(string.Format("OperatingSystem:{0}", OperatingSystem));textBox1.Text = sb.ToString();}}
}
下载
源码下载
相关文章:
C#获取计算机信息
目录 效果 项目 代码 下载 效果 项目 代码 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.Management; n…...
派遣函数 - 通过设备链接打开设备
利用文件IO相关的Wn32API对设备进行“打开”和“关闭”操作。要打开设备,必须通过设备的名字才能得到该设备的柄。前面介绍过,每个设备都有设备名称,如HelloDDK驱动程序的设备名为“Device\\MyDDKDevice”,但是设备名无法被用户模…...
Vue 2 中的 `$set` 方法详解
在 Vue 2 中,响应式数据的更新非常重要,因为它确保了当数据改变时,视图能够自动更新。Vue 使用一套高效的机制来追踪依赖并在数据变化时更新视图。然而,在某些情况下,直接修改对象的属性可能不会触发视图更新。这时&am…...
掌握Hive函数[2]:从基础到高级应用
目录 高级聚合函数 多进一出 1. 普通聚合 count/sum... 2. collect_list 收集并形成list集合,结果不去重 3. collect_set 收集并形成set集合,结果去重 案例演示 1. 每个月的入职人数以及姓名 炸裂函数 概述 案例演示 1. 数据准备 1)表…...
水壶问题记录
https://leetcode.cn/problems/water-and-jug-problem/description/?envTypestudy-plan-v2&envId2024-spring-sprint-100...
spring综合性利用工具-SpringBootVul-GUI(五)
项目地址 https://github.com/wh1t3zer/SpringBootVul-GUI 0x01简介 本着简单到极致的原则,开发了这么一款半自动化工具(PS:这个工具所包含了20个漏洞,开发不易,有任何问题可提issue) 尽管是一个为懒人量…...
2024年9月12日(k8s环境及测试 常用命令)
一、环境准备及测试 1、报错处理: kube-system calico-node-5wvln 0/1 Init:0/3 0 16h kube-system calico-node-d7xfb 0/1 Init:0/3 0 16h ku…...
卫生间漏水原因很多,切莫病急乱投医
有位业主说他家卫生间背面的墙湿了,邻居家正好在装修,把家具拆掉以后发现墙面上有一片已经湿了。 和业主相约去现场看看,去楼下业主家看了看,顶面是干燥的,这就说明不往楼下漏水。 这就奇怪了&#…...
IEEE 802.11a OFDM系统的仿真(续)
(内容源自详解MATLAB/SIMULINK 通信系统建模与仿真 刘学勇编著第九章内容,有兴趣的读者请阅读原书) clear all %%%%%%%参数设计部分%%%%%%%Nsp52;%系统子载波数(不包括直流载波) Nfft64;%FFT长度 Ncp16;…...
Linux cut命令详解使用:掌握高效文本切割
cut 是 Linux 中一个用于从文本文件或标准输入中提取指定字段的命令。它根据分隔符或者字符位置来裁剪文本,是处理文本文件中的字段、列和子字符串的常用工具。 基本语法 cut [选项] 文件或 命令 | cut [选项]常用选项 -b:按字节位置切割(…...
c++11新特性——endable_shared_from_this
文章目录 一.解决场景代码示例原因 二.解决办法代码 三.底层原理 一.解决场景 一个share_ptr管理的类,如果从类的函数里返回类对象(this指针),导致share_ptr引用计数错误,析构时异常问题 代码示例 #include <mem…...
小程序的右侧抽屉开关动画手写效果
<template><view><button click"openDrawer">打开抽屉</button><view v-if"showDrawer" class"drawer" :style"{ backgroundColor: bgColor }" click"closeDrawer"><view class"draw…...
vue3中el-table中点击图片放大时,被表格覆盖
问题:vue3中el-table中点击图片放大时,被表格覆盖。 解决方法:el-image 添加preview-teleported <el-table-column label"封面图" prop"coverUrl"><template #default"scope"><el-imagestyle&q…...
GO学习笔记(4) strconv/time
目录 strconv包1、string与bool之间的转换2、string与int之间的转换 time包1、常用常量定义2、Now()获取当前年月日时分秒3、Format()时间格式化4、Parse()/ ParseInLocation()解析时…...
课程管理系统-数据库-基于MySQL的数据库课程设计
目录 前言一、需求分析二、设计数据库模型1.实体关系图(ERD)2.表结构设计三、创建数据库和表四、插入数据五、查询数据六、更新和维护七、安全性与性能优化总结前言 设计一个数据库课程(或任何课程管理系统)时,我们首先需要明确系统的需求和目标。以下是一个基于MySQL的数…...
降维打击 华为赢麻了
文|琥珀食酒社 作者 | 积溪 真是赢麻了 华为估计都懵了 这辈子还能打这么富裕的仗? 其实在苹果和华为的发布会召开之前 我就知道华为肯定会赢 但我没想到 苹果会这么拉胯 华为这是妥妥的降维打击啊 就说这苹果iPhone 16吧 屏幕是变大了、颜色…...
[数据集][目标检测]汽车头部尾部检测数据集VOC+YOLO格式5319张3类别
数据集制作单位:未来自主研究中心(FIRC) 版权单位:未来自主研究中心(FIRC) 版权声明:数据集仅仅供个人使用,不得在未授权情况下挂淘宝、咸鱼等交易网站公开售卖,由此引发的法律责任需自行承担 数据集格式:Pascal VOC格…...
python 生成的代码,需要帮我生成一个直接在一台没有依赖的电脑上运行的 包
要创建一个可以在没有依赖的电脑上运行的包,你需要将你的代码和所有依赖项打包成一个可执行文件。对于Python项目,这通常意味着使用一些工具来打包你的代码和所有必要的库。以下是一些常用的工具和步骤: 确定依赖:首先,…...
【Linux】操作系统与进程
🦄个人主页:修修修也 🎏所属专栏:Linux ⚙️操作环境:Xshell (操作系统:CentOS 7.9 64位) 目录 📌操作系统 🎏操作系统的概念 🎏设计操作系统的目的 🎏操作系统对进程的管理 🕹️操作系统为什么…...
【Linux】 LTG:移动硬盘部署Ubuntu24.04
Ubuntu To Go 是一种便携式的 Ubuntu 操作系统解决方案,允许用户将 Ubuntu 系统安装在 USB 驱动器或其他可移动存储设备上。这样,用户可以在任何支持 USB 启动的计算机上运行 Ubuntu,而无需在本地硬盘上进行安装。 准备工作 移动硬盘&#x…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
游戏开发中常见的战斗数值英文缩写对照表
游戏开发中常见的战斗数值英文缩写对照表 基础属性(Basic Attributes) 缩写英文全称中文释义常见使用场景HPHit Points / Health Points生命值角色生存状态MPMana Points / Magic Points魔法值技能释放资源SPStamina Points体力值动作消耗资源APAction…...
