本文實例講述了C#編程獲取客戶端計算機硬件及系統信息功能。分享給大家供大家參考,具體如下:
這里使用C#獲取客戶端計算機硬件及系統信息 ,包括CPU、硬盤、IP、MAC地址、操作系統等。
1、項目引用System.Management庫。
2、創建HardwareHandler.cs類文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
|
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#程序設計有所幫助。