C#获取用户系统信息的程序

C# 获取计算机信息(操作系统/硬件) C#我们可以通过类库System.Management获取计算机的基础信息。总结了一个通用类,只要根据参考信息填入path和key就可以获取相应的信息。这个只是针对单个设备,如果有多个设备单独写下就可以了。参考信息中key的":"和后边为说明信息,只使用前面就可以了。 阅读详情

介绍

在这个程序当中,主要通过下面两个类获取用户系统的信息:

  1. System.Environment
  2. System.Managememnt

应用程序包括三个tab菜单,分别是:

  1. System
  2. CPU
  3. Local drives

程序外观如下图:

 

在 System 菜单中,用 System.Environment 类来获取系统信息 :

 

private string SystemInformation()
{
    StringBuilder StringBuilder1 = new StringBuilder(string.Empty);
    try
    {
        StringBuilder1.AppendFormat("Operation System:  {0}\n", Environment.OSVersion);
        if (Environment.Is64BitOperatingSystem)
            StringBuilder1.AppendFormat("\t\t  64 Bit Operating System\n");
        else
            StringBuilder1.AppendFormat("\t\t  32 Bit Operating System\n");
        StringBuilder1.AppendFormat("SystemDirectory:  {0}\n", Environment.SystemDirectory);
        StringBuilder1.AppendFormat("ProcessorCount:  {0}\n", Environment.ProcessorCount);
        StringBuilder1.AppendFormat("UserDomainName:  {0}\n", Environment.UserDomainName);
        StringBuilder1.AppendFormat("UserName: {0}\n", Environment.UserName);
        //Drives
        StringBuilder1.AppendFormat("LogicalDrives:\n");
        foreach (System.IO.DriveInfo DriveInfo1 in System.IO.DriveInfo.GetDrives())
        {
            try
            {
                StringBuilder1.AppendFormat("\t Drive: {0}\n\t\t VolumeLabel: " + 
                  "{1}\n\t\t DriveType: {2}\n\t\t DriveFormat: {3}\n\t\t " + 
                  "TotalSize: {4}\n\t\t AvailableFreeSpace: {5}\n",
                  DriveInfo1.Name, DriveInfo1.VolumeLabel, DriveInfo1.DriveType, 
                  DriveInfo1.DriveFormat, DriveInfo1.TotalSize, DriveInfo1.AvailableFreeSpace);
            }
            catch
            {
            }
        }
        StringBuilder1.AppendFormat("SystemPageSize:  {0}\n", Environment.SystemPageSize);
        StringBuilder1.AppendFormat("Version:  {0}", Environment.Version);
    }
    catch
    {
    }
    return StringBuilder1.ToString();
}

在 CPU 和 Local drive 选项卡, 类 System.Management 用来收集信息,但是在使用该类之前需要加入引用. 加入System.Management引用的步骤如下:

  1. 打开项目解决方案.
  2. 右键单击引用,选择添加引用.
  3. 单击.NET 选项卡.
  4. 选择System.Management.
  5. 单击确定按钮.

 现在可以用该类写下面的函数:

private string DeviceInformation(string stringIn)
{
    StringBuilder StringBuilder1 = new StringBuilder(string.Empty);
    ManagementClass ManagementClass1 = new ManagementClass(stringIn);
    //Create a ManagementObjectCollection to loop through
    ManagementObjectCollection ManagemenobjCol = ManagementClass1.GetInstances();
    //Get the properties in the class
    PropertyDataCollection properties = ManagementClass1.Properties;
    foreach (ManagementObject obj in ManagemenobjCol)
    {
        foreach (PropertyData property in properties)
        {
            try
            {
                StringBuilder1.AppendLine(property.Name + ":  " + 
                  obj.Properties[property.Name].Value.ToString());
            }
            catch
            {
                //Add codes to manage more informations
            }
        }
        StringBuilder1.AppendLine();
    }
    return StringBuilder1.ToString();
}


这个函数有一个参数,该参数的值可以是Win32_Processor 或Win32_LogicalDisk。用第一次参数来获取CPU的信息,用第二参数来获取硬盘驱动器的信息。最后再Window_Loaded函数中调用如下语句:

 

//System Information
textBox1.Text = SystemInformation();
//CPU Information
textBox2.Text = DeviceInformation("Win32_Processor");
//Local Drives Information
textBox3.Text = DeviceInformation("Win32_LogicalDisk");



 

C#,WMI获取系统信息 加入命名空间: using System.Management;     ///         /// //获取CPU序列号代码         ///         ///         string GetCpuID()         {             try             {                 string cpuInf 阅读详情

相关推荐

深入Windows内核:C#调用系统API获取系统信息的实战全解

本文介绍了如何使用C#通过Windows API获取系统关键信息,包括系统目录、CPU信息、内存状态、注册表数据和屏幕分辨率等。每个代码示例都包含完整的错误处理和内存安全机制,确保代码的稳定性和可靠性。 基础篇:通过DllImport声明和调用Windows API,获取系统目录和系统时间。使用StringBuilder和ref参数确保内存安全,并通过SetLastError捕获错误。 进阶篇:通过注册表操作获取CPU信息,使用PerformanceCounter实时监控内存使用情况。注册表操作涉及RegO

墨夶的博客 1330

C# 获取计算机信息GetSystemInfo

效果如下: 上面的代码获得SYSTEM_INFO结构体的数据之后,采用反射我输出了每个值,该结构体字段含义如下: 【dwOemId】:   已废弃的成员,保留这个成员是为了向以前版本的Windows NT保持兼容。从Windows NT 3.51和Windows 95的预发行版本开始,使用这个成员的子分支 【dwPageSize】:   指定页面的大小和页面保护和委托的颗粒。

码农 3959

C# 获取系统信息的详细演示程序

随着信息技术的不断进步,开发人员常常需要在编写应用程序时获取计算机的各种信息。C# 作为一种广泛使用的编程语言,为我们提供了丰富的类库和方法,以满足这些需求。从基本的计算机名称、IP地址,到深入的网络配置、端口状态,甚至是系统监控和诊断信息,C# 均可提供相应的功能模块以实现获取。在本章中,我们将简要介绍C#中获取计算机信息的相关概念,并概述使用C#进行信息获取的基本工作流程。我们将探讨主要的.NET类库,比如System.Net和等,以及它们在获取不同类型信息时的应用场景和使用方法。

weixin_28931449的博客 1164

c#获取系统信息的几种方式

1.Environment 这个没什么好说的,最简单的方法 //提供有关当前环境和平台的信息以及操作它们的方法。此类不能被继承。 //获取或设置当前工作目录的完全限定路径。 public static string CurrentDirectory { get; set; } //获取当前计算机上的处理器数。 public ...

zanllp的博客 4750

C#用户登录系统

一套非常完整等登陆系统,适合各种B2C平台使用

System.Management

System.Management

【小白专用】(C#)用户、角色、权限控制体系

(C#)用户、角色、权限

zgscwxd的博客 2555

C#获取系统基本属性信息

C#获取系统基本属性信息

c#获取系统信息的方式

1、Environment类;2、SystemInformation类;3、WMI;4、PerformanceCounter类;5、API;6、查询注册表;

caomiao2006的专栏 746

voc与txt互转

voc2txt # coding:utf-8 from __future__ import print_function import os import random import glob import xml.etree.ElementTree as ET def xml_reader(filename): """ Parse a PASCAL VOC xml file """ tree = ET.parse(filename) size = tree.find('siz

weixin_44898889的博客 825

OpenClaw 在 Windows 环境下的完整安装、配置和部署指南

介绍Windows环境下OpenClaw的完整安装,配置和部署的全流程

hxbao的专栏 1485

c#获取用户计算机名称,C#获取当前计算机名、分辨率、系统版本、用户名

【实例简介】【实例截图】【核心代码】using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace System{/// /// Form1 的摘要说明。/// public cl...

weixin_29554849的博客 1495

【深度学习-番外1】Win10系统搭建VSCode+Anaconda+Pytorch+CUDA深度学习环境和框架全过程

本文将介绍在Windows 10系统下搭建深度学习环境的完整过程,包括安装Anaconda、CUDA、NVIDIA显卡驱动以及Pytorch框架。后续本专栏的Python语言下的深度学习环境都以本篇搭建的为准。

fengzhuqiaoqiu的博客 3997

DotNet中获取系统信息(一)

前几天发了一张用C#获取系统信息的随笔,得到很多高人的指点,获益良多啊!这两天又抽空重构了一下,使用了singleton模式,并支持读取多CPU和多网卡的信息(未使用WMI),但没办法测试,不知道行不行!请高手指导!全过程都使用了TestDriver.NET(以前叫NUnitAddin)和ReSharper1.0,确实不错。尤其是ReSharper,重构功能比To...

dfadd1334的博客 225

海康工业相机SDK开发实战:从环境搭建到实时图像采集(附避坑指南)

本文详细介绍了海康工业相机SDK在Windows平台上的开发实战流程,涵盖从环境搭建、运行时库路径配置到实时图像采集的全过程。重点解析了MVS SDK部署、设备连接、参数设置及图像处理等核心环节,并提供了实用的避坑指南和错误排查方法,帮助开发者构建稳定的机器视觉系统。

weixin_29248611的博客 845

YOLO26优化:原创自研 | 自研独家创新DSAM注意力 ,基于BiLevelRoutingAttention注意力升级

提出新颖的注意力DSAM(Deformable Bi-level SpatialAttention Module),创新度极佳,适合科研创新,效果秒杀CBAM,Channel Attention+Spartial Attention升级为新颖的Deformable Bi-level Attention+Spartial Attention

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 362

c#中如何获取本机用户名、MAC地址、IP地址、硬盘ID、CPU序列号、系统名称、物理内存...

我们在利用C#开发桌面程序(Winform)程序的时候, 经常需要获取一些跟系统相关的信息, 以下这些代码获取能有些用处。 c#中如何获取本机用户名、MAC地址、IP地址、硬盘ID、CPU序列号、系统名称、物理内存。 首先需要引入命名空间: using System.Management; /// 操作系统的登录用户名: ...

aiti0310的博客 224

安装openclaw时出现node.exe : npm error code EIDLETIMEOUT的解决方案

本文主要介绍了安装openclaw时出现node.exe : npm error code EIDLETIMEOUT的解决方案,希望能对学习使用openclaw的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 11万+

ThingsBoard PE专业版解决方案技术文档——温度&湿度

温湿度解决方案

weixin_67440240的博客 818

ArcGIS Pro SDK (二十五)工作流管理器

【代码】ArcGIS Pro SDK (二十五)工作流管理器。

Winemonk 494

C#程序员经常用到的10个实用代码片段

1 读取操作系统和CLR的版本 OperatingSystem os = System.Environment.OSVersion; Console.WriteLine(“Platform: {0}”, os.Platform); Console.WriteLine(“Service Pack: {0}”, os.ServicePack); Console.WriteLine(“...

anyi8827的博客 168

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C#获取本地计算机名,IP,MAC地址,硬盘ID

此方法仅限于c# winform程序,不适合webform。 代码如下: using System; using System.Collections.Generic; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System....

weixin_34297300的博客 103

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

visual c#设计的多功能关机程序

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34354945的博客 166

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C#获取常用系统信息

常见获取系统信息如下: 1 获取当前系统时间 2 获取系统目录 3 获取计算机名称 4 获取当前程序目录 5 获取系统版本号 6 获取当前系统启动时间 7 控件显示提示信息 8 获取环境变量和变量值 9 获取屏幕分辨率 10 获取当前IP地址 11 检测是否联网 12 获取特殊文件路径(比如桌面) 13 获取当前EXE文件路径 using System; using System.Collections.Generic; using System.ComponentModel; using System.

星河队长 1470
上一篇: 字典与散列表
下一篇: C++回调函数问题的解决方案
xiaoding133
博客等级 码龄19年 415粉丝 159原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值