C#编程获取客户端计算机硬件及系统信息功能示例
程序员文章站
2022-11-21 12:07:39
本文实例讲述了c#编程获取客户端计算机硬件及系统信息功能。分享给大家供大家参考,具体如下:
这里使用c#获取客户端计算机硬件及系统信息 ,包括cpu、硬盘、ip、mac地...
本文实例讲述了c#编程获取客户端计算机硬件及系统信息功能。分享给大家供大家参考,具体如下:
这里使用c#获取客户端计算机硬件及系统信息 ,包括cpu、硬盘、ip、mac地址、操作系统等。
1、项目引用system.management库。
2、创建hardwarehandler.cs类文件
using system; using system.collections.generic; using system.linq; using system.text; using system.management; namespace mystudy.utility { /// <summary> /// 计算机硬件处理类 /// </summary> public class hardwarehandler { public enum wmipath { // 硬件 win32_processor, // cpu 处理器 win32_physicalmemory, // 物理内存条 win32_keyboard, // 键盘 win32_pointingdevice, // 点输入设备,包括鼠标。 win32_floppydrive, // 软盘驱动器 win32_diskdrive, // 硬盘驱动器 win32_cdromdrive, // 光盘驱动器 win32_baseboard, // 主板 win32_bios, // bios 芯片 win32_parallelport, // 并口 win32_serialport, // 串口 win32_serialportconfiguration, // 串口配置 win32_sounddevice, // 多媒体设置,一般指声卡。 win32_systemslot, // 主板插槽 (isa & pci & agp) win32_usbcontroller, // usb 控制器 win32_networkadapter, // 网络适配器 win32_networkadapterconfiguration, // 网络适配器设置 win32_printer, // 打印机 win32_printerconfiguration, // 打印机设置 win32_printjob, // 打印机任务 win32_tcpipprinterport, // 打印机端口 win32_potsmodem, // modem win32_potsmodemtoserialport, // modem 端口 win32_desktopmonitor, // 显示器 win32_displayconfiguration, // 显卡 win32_displaycontrollerconfiguration, // 显卡设置 win32_videocontroller, // 显卡细节。 win32_videosettings, // 显卡支持的显示模式。 // 操作系统 win32_timezone, // 时区 win32_systemdriver, // 驱动程序 win32_diskpartition, // 磁盘分区 win32_logicaldisk, // 逻辑磁盘 win32_logicaldisktopartition, // 逻辑磁盘所在分区及始末位置。 win32_logicalmemoryconfiguration, // 逻辑内存配置 win32_pagefile, // 系统页文件信息 win32_pagefilesetting, // 页文件设置 win32_bootconfiguration, // 系统启动配置 win32_computersystem, // 计算机信息简要 win32_operatingsystem, // 操作系统信息 win32_startupcommand, // 系统自动启动程序 win32_service, // 系统安装的服务 win32_group, // 系统管理组 win32_groupuser, // 系统组帐号 win32_useraccount, // 用户帐号 win32_process, // 系统进程 win32_thread, // 系统线程 win32_share, // 共享 win32_networkclient, // 已安装的网络客户端 win32_networkprotocol, // 已安装的网络协议 } /// <summary> /// cpu信息 /// </summary> /// <returns></returns> public void cpuinfo() { try { managementclass mc = new managementclass(wmipath.win32_processor.tostring()); managementobjectcollection moc = mc.getinstances(); foreach (managementobject mo in moc) { console.writeline("cpu编号:" + mo.properties["processorid"].value); console.writeline("cpu型号:" + mo.properties["name"].value); console.writeline("cpu状态:" + mo.properties["status"].value); console.writeline("主机名称:" + mo.properties["systemname"].value); } } catch { console.writeline("erroe"); } } /// <summary> /// 主板信息 /// </summary> public void mainboardinfo() { try { managementclass mc = new managementclass(wmipath.win32_baseboard.tostring()); managementobjectcollection moc = mc.getinstances(); foreach (managementobject mo in moc) { console.writeline("主板id:" + mo.properties["serialnumber"].value); console.writeline("制造商:" + mo.properties["manufacturer"].value); console.writeline("型号:" + mo.properties["product"].value); console.writeline("版本:" + mo.properties["version"].value); } } catch { console.writeline("erroe"); } } /// <summary> /// 硬盘信息 /// </summary> public void diskdriveinfo() { try { managementclass mc = new managementclass(wmipath.win32_diskdrive.tostring()); managementobjectcollection moc = mc.getinstances(); foreach (managementobject mo in moc) { console.writeline("硬盘sn:" + mo.properties["serialnumber"].value); console.writeline("型号:" + mo.properties["model"].value); console.writeline("大小:" + convert.todouble(mo.properties["size"].value) / (1024 * 1024 * 1024)); } } catch { console.writeline("erroe"); } } /// <summary> /// 网络连接信息 /// </summary> public void networkinfo() { try { managementclass mc = new managementclass(wmipath.win32_networkadapterconfiguration.tostring()); managementobjectcollection moc = mc.getinstances(); foreach (managementobject mo in moc) { console.writeline("mac地址:" + mo.properties["macaddress"].value); console.writeline("ip地址:" + mo.properties["ipaddress"].value); } } catch { console.writeline("erroe"); } } /// <summary> /// 操作系统信息 /// </summary> public void osinfo() { try { managementclass mc = new managementclass(wmipath.win32_operatingsystem.tostring()); managementobjectcollection moc = mc.getinstances(); foreach (managementobject mo in moc) { console.writeline("操作系统:" + mo.properties["name"].value); console.writeline("版本:" + mo.properties["version"].value); console.writeline("系统目录:" + mo.properties["systemdirectory"].value); } } catch { console.writeline("erroe"); } } } }
更多关于c#相关内容感兴趣的读者可查看本站专题:《c#程序设计之线程使用技巧总结》、《winform控件用法总结》、《c#中xml文件操作技巧汇总》、《c#常见控件用法教程》、《c#数据结构与算法教程》、《c#数组操作技巧总结》及《c#面向对象程序设计入门教程》
希望本文所述对大家c#程序设计有所帮助。