c# 获取硬件信息
1 public static string GetMacAddress() 2 { 3 ManagementClass class2 = new ManagementClass("Win32_NetworkAdapterConfiguration"); 4 foreach (ManagementObject obj2 in class2.GetInstances()) 5 { 6 if (obj2["IPEnabled"].ToString() == "True") 7 { 8 return obj2["MacAddress"].ToString(); 9 } 10 } 11 return null; 12 } 13 14 /// <summary> 15 /// 取CPU ID 16 /// </summary> 17 /// <returns></returns> 18 public static string GetCpuId() 19 { 20 return GetHardwareInfo(HardwareEnum.Win32_Processor, "ProcessorId"); 21 } 22 23 /// <summary> 24 /// 取硬盘SN 25 /// </summary> 26 /// <returns></returns> 27 public static string GetHardDiskSN() 28 { 29 return GetHardwareInfo(HardwareEnum.Win32_PhysicalMedia, "SerialNumber"); 30 } 31 32 /// <summary> 33 /// 取硬件信息 34 /// </summary> 35 /// <param name="hardType"></param> 36 /// <param name="propKey"></param> 37 /// <returns></returns> 38 public static string GetHardwareInfo(HardwareEnum hardType , string propKey) 39 { 40 ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from " + hardType); 41 var hardInfos= searcher.Get(); 42 foreach (var hardInfo in hardInfos) 43 { 44 if (hardInfo.Properties[propKey] != null) 45 { 46 return hardInfo.Properties[propKey].Value.ToString(); 47 } 48 } 49 return ""; 50 } 51 52 public enum HardwareEnum 53 { 54 Win32_1394Controller 55 ,Win32_1394ControllerDevice 56 ,Win32_Account 57 ,Win32_AccountSID 58 ,Win32_ACE 59 ,Win32_ActionCheck 60 ,Win32_AllocatedResource 61 ,Win32_ApplicationCommandLine 62 ,Win32_ApplicationService 63 ,Win32_AssociatedBattery 64 ,Win32_AssociatedProcessorMemory 65 ,Win32_BaseBoard 66 ,Win32_BaseService 67 ,Win32_Battery 68 ,Win32_Binary 69 ,Win32_BindImageAction 70 ,Win32_BIOS 71 ,Win32_BootConfiguration 72 ,Win32_Bus 73 ,Win32_CacheMemory 74 ,Win32_CDROMDrive 75 ,Win32_CheckCheck 76 ,Win32_CIMLogicalDeviceCIMDataFile 77 ,Win32_ClassicCOMApplicationClasses 78 ,Win32_ClassicCOMClass 79 ,Win32_ClassicCOMClassSetting 80 ,Win32_ClassicCOMClassSettings 81 ,Win32_ClassInfoAction 82 ,Win32_ClientApplicationSetting 83 ,Win32_CodecFile 84 ,Win32_COMApplication 85 ,Win32_COMApplicationClasses 86 ,Win32_COMApplicationSettings 87 ,Win32_COMClass 88 ,Win32_ComClassAutoEmulator 89 ,Win32_ComClassEmulator 90 ,Win32_CommandLineAccess 91 ,Win32_ComponentCategory 92 ,Win32_ComputerSystem 93 ,Win32_ComputerSystemProcessor 94 ,Win32_ComputerSystemProduct 95 ,Win32_COMSetting 96 ,Win32_Condition 97 ,Win32_CreateFolderAction 98 ,Win32_CurrentProbe 99 ,Win32_DCOMApplication 100 ,Win32_DCOMApplicationAccessAllowedSetting 101 ,Win32_DCOMApplicationLaunchAllowedSetting 102 ,Win32_DCOMApplicationSetting 103 ,Win32_DependentService 104 ,Win32_Desktop 105 ,Win32_DesktopMonitor 106 ,Win32_DeviceBus 107 ,Win32_DeviceMemoryAddress 108 ,Win32_DeviceSettings 109 ,Win32_Directory 110 ,Win32_DirectorySpecification 111 ,Win32_DiskDrive 112 ,Win32_DiskDriveToDiskPartition 113 ,Win32_DiskPartition 114 ,Win32_DisplayConfiguration 115 ,Win32_DisplayControllerConfiguration 116 ,Win32_DMAChannel 117 ,Win32_DriverVXD 118 ,Win32_DuplicateFileAction 119 ,Win32_Environment 120 ,Win32_EnvironmentSpecification 121 ,Win32_ExtensionInfoAction 122 ,Win32_Fan 123 ,Win32_FileSpecification 124 ,Win32_FloppyController 125 ,Win32_FloppyDrive 126 ,Win32_FontInfoAction 127 ,Win32_Group 128 ,Win32_GroupUser 129 ,Win32_HeatPipe 130 ,Win32_IDEController 131 ,Win32_IDEControllerDevice 132 ,Win32_ImplementedCategory 133 ,Win32_InfraredDevice 134 ,Win32_IniFileSpecification 135 ,Win32_InstalledSoftwareElement 136 ,Win32_IRQResource 137 ,Win32_Keyboard 138 ,Win32_LaunchCondition 139 ,Win32_LoadOrderGroup 140 ,Win32_LoadOrderGroupServiceDependencies 141 ,Win32_LoadOrderGroupServiceMembers 142 ,Win32_LogicalDisk 143 ,Win32_LogicalDiskRootDirectory 144 ,Win32_LogicalDiskToPartition 145 ,Win32_LogicalFileAccess 146 ,Win32_LogicalFileAuditing 147 ,Win32_LogicalFileGroup 148 ,Win32_LogicalFileOwner 149 ,Win32_LogicalFileSecuritySetting 150 ,Win32_LogicalMemoryConfiguration 151 ,Win32_LogicalProgramGroup 152 ,Win32_LogicalProgramGroupDirectory 153 ,Win32_LogicalProgramGroupItem 154 ,Win32_LogicalProgramGroupItemDataFile 155 ,Win32_LogicalShareAccess 156 ,Win32_LogicalShareAuditing 157 ,Win32_LogicalShareSecuritySetting 158 ,Win32_ManagedSystemElementResource 159 ,Win32_MemoryArray 160 ,Win32_MemoryArrayLocation 161 ,Win32_MemoryDevice 162 ,Win32_MemoryDeviceArray 163 ,Win32_MemoryDeviceLocation 164 ,Win32_MethodParameterClass 165 ,Win32_MIMEInfoAction 166 ,Win32_MotherboardDevice 167 ,Win32_MoveFileAction 168 ,Win32_MSIResource 169 ,Win32_NetworkAdapter 170 ,Win32_NetworkAdapterConfiguration 171 ,Win32_NetworkAdapterSetting 172 ,Win32_NetworkClient 173 ,Win32_NetworkConnection 174 ,Win32_NetworkLoginProfile 175 ,Win32_NetworkProtocol 176 ,Win32_NTEventlogFile 177 ,Win32_NTLogEvent 178 ,Win32_NTLogEventComputer 179 ,Win32_NTLogEventLog 180 ,Win32_NTLogEventUser 181 ,Win32_ODBCAttribute 182 ,Win32_ODBCDataSourceAttribute 183 ,Win32_ODBCDataSourceSpecification 184 ,Win32_ODBCDriverAttribute 185 ,Win32_ODBCDriverSoftwareElement 186 ,Win32_ODBCDriverSpecification 187 ,Win32_ODBCSourceAttribute 188 ,Win32_ODBCTranslatorSpecification 189 ,Win32_OnBoardDevice 190 ,Win32_OperatingSystem 191 ,Win32_OperatingSystemQFE 192 ,Win32_OSRecoveryConfiguration 193 ,Win32_PageFile 194 ,Win32_PageFileElementSetting 195 ,Win32_PageFileSetting 196 ,Win32_PageFileUsage 197 ,Win32_ParallelPort 198 ,Win32_Patch 199 ,Win32_PatchFile 200 ,Win32_PatchPackage 201 ,Win32_PCMCIAController 202 ,Win32_Perf 203 ,Win32_PerfRawData 204 ,Win32_PerfRawData_ASP_ActiveServerPages 205 ,Win32_PerfRawData_ASPNET_114322_ASPNETAppsv114322 206 ,Win32_PerfRawData_ASPNET_114322_ASPNETv114322 207 ,Win32_PerfRawData_ASPNET_ASPNET 208 ,Win32_PerfRawData_ASPNET_ASPNETApplications 209 ,Win32_PerfRawData_IAS_IASAccountingClients 210 ,Win32_PerfRawData_IAS_IASAccountingServer 211 ,Win32_PerfRawData_IAS_IASAuthenticationClients 212 ,Win32_PerfRawData_IAS_IASAuthenticationServer 213 ,Win32_PerfRawData_InetInfo_InternetInformationServicesGlobal 214 ,Win32_PerfRawData_MSDTC_DistributedTransactionCoordinator 215 ,Win32_PerfRawData_MSFTPSVC_FTPService 216 ,Win32_PerfRawData_MSSQLSERVER_SQLServerAccessMethods 217 ,Win32_PerfRawData_MSSQLSERVER_SQLServerBackupDevice 218 ,Win32_PerfRawData_MSSQLSERVER_SQLServerBufferManager 219 ,Win32_PerfRawData_MSSQLSERVER_SQLServerBufferPartition 220 ,Win32_PerfRawData_MSSQLSERVER_SQLServerCacheManager 221 ,Win32_PerfRawData_MSSQLSERVER_SQLServerDatabases 222 ,Win32_PerfRawData_MSSQLSERVER_SQLServerGeneralStatistics 223 ,Win32_PerfRawData_MSSQLSERVER_SQLServerLatches 224 ,Win32_PerfRawData_MSSQLSERVER_SQLServerLocks 225 ,Win32_PerfRawData_MSSQLSERVER_SQLServerMemoryManager 226 ,Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationAgents 227 ,Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationDist 228 ,Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationLogreader 229 ,Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationMerge 230 ,Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationSnapshot 231 ,Win32_PerfRawData_MSSQLSERVER_SQLServerSQLStatistics 232 ,Win32_PerfRawData_MSSQLSERVER_SQLServerUserSettable 233 ,Win32_PerfRawData_NETFramework_NETCLRExceptions 234 ,Win32_PerfRawData_NETFramework_NETCLRInterop 235 ,Win32_PerfRawData_NETFramework_NETCLRJit 236 ,Win32_PerfRawData_NETFramework_NETCLRLoading 237 ,Win32_PerfRawData_NETFramework_NETCLRLocksAndThreads 238 ,Win32_PerfRawData_NETFramework_NETCLRMemory 239 ,Win32_PerfRawData_NETFramework_NETCLRRemoting 240 ,Win32_PerfRawData_NETFramework_NETCLRSecurity 241 ,Win32_PerfRawData_Outlook_Outlook 242 ,Win32_PerfRawData_PerfDisk_PhysicalDisk 243 ,Win32_PerfRawData_PerfNet_Browser 244 ,Win32_PerfRawData_PerfNet_Redirector 245 ,Win32_PerfRawData_PerfNet_Server 246 ,Win32_PerfRawData_PerfNet_ServerWorkQueues 247 ,Win32_PerfRawData_PerfOS_Cache 248 ,Win32_PerfRawData_PerfOS_Memory 249 ,Win32_PerfRawData_PerfOS_Objects 250 ,Win32_PerfRawData_PerfOS_PagingFile 251 ,Win32_PerfRawData_PerfOS_Processor 252 ,Win32_PerfRawData_PerfOS_System 253 ,Win32_PerfRawData_PerfProc_FullImage_Costly 254 ,Win32_PerfRawData_PerfProc_Image_Costly 255 ,Win32_PerfRawData_PerfProc_JobObject 256 ,Win32_PerfRawData_PerfProc_JobObjectDetails 257 ,Win32_PerfRawData_PerfProc_Process 258 ,Win32_PerfRawData_PerfProc_ProcessAddressSpace_Costly 259 ,Win32_PerfRawData_PerfProc_Thread 260 ,Win32_PerfRawData_PerfProc_ThreadDetails_Costly 261 ,Win32_PerfRawData_RemoteAccess_RASPort 262 ,Win32_PerfRawData_RemoteAccess_RASTotal 263 ,Win32_PerfRawData_RSVP_ACSPerRSVPService 264 ,Win32_PerfRawData_Spooler_PrintQueue 265 ,Win32_PerfRawData_TapiSrv_Telephony 266 ,Win32_PerfRawData_Tcpip_ICMP 267 ,Win32_PerfRawData_Tcpip_IP 268 ,Win32_PerfRawData_Tcpip_NBTConnection 269 ,Win32_PerfRawData_Tcpip_NetworkInterface 270 ,Win32_PerfRawData_Tcpip_TCP 271 ,Win32_PerfRawData_Tcpip_UDP 272 ,Win32_PerfRawData_W3SVC_WebService 273 ,Win32_PhysicalMedia 274 ,Win32_PhysicalMemory 275 ,Win32_PhysicalMemoryArray 276 ,Win32_PhysicalMemoryLocation 277 ,Win32_PNPAllocatedResource 278 ,Win32_PnPDevice 279 ,Win32_PnPEntity 280 ,Win32_PointingDevice 281 ,Win32_PortableBattery 282 ,Win32_PortConnector 283 ,Win32_PortResource 284 ,Win32_POTSModem 285 ,Win32_POTSModemToSerialPort 286 ,Win32_PowerManagementEvent 287 ,Win32_Printer 288 ,Win32_PrinterConfiguration 289 ,Win32_PrinterController 290 ,Win32_PrinterDriverDll 291 ,Win32_PrinterSetting 292 ,Win32_PrinterShare 293 ,Win32_PrintJob 294 ,Win32_PrivilegesStatus 295 ,Win32_Process 296 , 297 /// <summary> 298 /// CPU信息 299 /// </summary> 300 Win32_Processor 301 ,Win32_ProcessStartup 302 ,Win32_Product 303 ,Win32_ProductCheck 304 ,Win32_ProductResource 305 ,Win32_ProductSoftwareFeatures 306 ,Win32_ProgIDSpecification 307 ,Win32_ProgramGroup 308 ,Win32_ProgramGroupContents 309 ,Win32_ProgramGroupOrItem 310 ,Win32_Property 311 ,Win32_ProtocolBinding 312 ,Win32_PublishComponentAction 313 ,Win32_QuickFixEngineering 314 ,Win32_Refrigeration 315 ,Win32_Registry 316 ,Win32_RegistryAction 317 ,Win32_RemoveFileAction 318 ,Win32_RemoveIniAction 319 ,Win32_ReserveCost 320 ,Win32_ScheduledJob 321 ,Win32_SCSIController 322 ,Win32_SCSIControllerDevice 323 ,Win32_SecurityDescriptor 324 ,Win32_SecuritySetting 325 ,Win32_SecuritySettingAccess 326 ,Win32_SecuritySettingAuditing 327 ,Win32_SecuritySettingGroup 328 ,Win32_SecuritySettingOfLogicalFile 329 ,Win32_SecuritySettingOfLogicalShare 330 ,Win32_SecuritySettingOfObject 331 ,Win32_SecuritySettingOwner 332 ,Win32_SelfRegModuleAction 333 ,Win32_SerialPort 334 ,Win32_SerialPortConfiguration 335 ,Win32_SerialPortSetting 336 ,Win32_Service 337 ,Win32_ServiceControl 338 ,Win32_ServiceSpecification 339 ,Win32_ServiceSpecificationService 340 ,Win32_SettingCheck 341 ,Win32_Share 342 ,Win32_ShareToDirectory 343 ,Win32_ShortcutAction 344 ,Win32_ShortcutFile 345 ,Win32_ShortcutSAP 346 ,Win32_SID 347 ,Win32_SMBIOSMemory 348 ,Win32_SoftwareElement 349 ,Win32_SoftwareElementAction 350 ,Win32_SoftwareElementCheck 351 ,Win32_SoftwareElementCondition 352 ,Win32_SoftwareElementResource 353 ,Win32_SoftwareFeature 354 ,Win32_SoftwareFeatureAction 355 ,Win32_SoftwareFeatureCheck 356 ,Win32_SoftwareFeatureParent 357 ,Win32_SoftwareFeatureSoftwareElements 358 ,Win32_SoundDevice 359 ,Win32_StartupCommand 360 ,Win32_SubDirectory 361 ,Win32_SystemAccount 362 ,Win32_SystemBIOS 363 ,Win32_SystemBootConfiguration 364 ,Win32_SystemDesktop 365 ,Win32_SystemDevices 366 ,Win32_SystemDriver 367 ,Win32_SystemDriverPNPEntity 368 ,Win32_SystemEnclosure 369 ,Win32_SystemLoadOrderGroups 370 ,Win32_SystemLogicalMemoryConfiguration 371 ,Win32_SystemMemoryResource 372 ,Win32_SystemNetworkConnections 373 ,Win32_SystemOperatingSystem 374 ,Win32_SystemPartitions 375 ,Win32_SystemProcesses 376 ,Win32_SystemProgramGroups 377 ,Win32_SystemResources 378 ,Win32_SystemServices 379 ,Win32_SystemSetting 380 ,Win32_SystemSlot 381 ,Win32_SystemSystemDriver 382 ,Win32_SystemTimeZone 383 ,Win32_SystemUsers 384 ,Win32_TapeDrive 385 ,Win32_TemperatureProbe 386 ,Win32_Thread 387 ,Win32_TimeZone 388 ,Win32_Trustee 389 ,Win32_TypeLibraryAction 390 ,Win32_UninterruptiblePowerSupply 391 ,Win32_USBController 392 ,Win32_USBControllerDevice 393 ,Win32_UserAccount 394 ,Win32_UserDesktop 395 ,Win32_VideoConfiguration 396 ,Win32_VideoController 397 ,Win32_VideoSettings 398 , Win32_VoltageProbe 399 ,Win32_WMIElementSetting 400 ,Win32_WMISetting 401 }