C#中通过wmi获取硬件的信息

1、简介

      通过C#可以很简易的得到计算机硬件的信息。具体步骤如下:

      1)添加名为System.ManageMent的DLL。具体方法为:解决方案->添加引用-> .NET -> System.ManageMent。

      2)在源文件中添加命名空间using System.Management。

      3)创建ManagementObjectSearcher 对象。方法如下:

             ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from " + Key);

             其中,Key是WMI中的对象名。

      4)调用ManagementObjectSearcher实例中的Get()方法,该方法将会把返回信息填在这个实例中,然后处理这个实例中的数据。

            foreach (ManagementObject share in searcher.Get()){// Some Codes ...}

      5)每个ManagementObject的对象中都有一些属性数据,处理这些数据即可:
            feorach (PropertyData PC in share.Properties){//some codes ...}


2、WMI对象名

     在WMI中对象名如下:

      Win32_1394Controller
      Win32_1394ControllerDevice
      Win32_Account
      Win32_AccountSID
      Win32_ACE
      Win32_ActionCheck
      Win32_AllocatedResource
      Win32_ApplicationCommandLine
      Win32_ApplicationService
      Win32_AssociatedBattery
      Win32_AssociatedProcessorMemory
      Win32_BaseBoard
      Win32_BaseService
      Win32_Battery
      Win32_Binary
      Win32_BindImageAction
      Win32_BIOS
      Win32_BootConfiguration
      Win32_Bus
      Win32_CacheMemory
      Win32_CDROMDrive
      Win32_CheckCheck
      Win32_CIMLogicalDeviceCIMDataFile
      Win32_ClassicCOMApplicationClasses
      Win32_ClassicCOMClass
      Win32_ClassicCOMClassSetting
      Win32_ClassicCOMClassSettings
      Win32_ClassInfoAction
      Win32_ClientApplicationSetting
      Win32_CodecFile
      Win32_COMApplication
      Win32_COMApplicationClasses
      Win32_COMApplicationSettings
      Win32_COMClass
      Win32_ComClassAutoEmulator
      Win32_ComClassEmulator
      Win32_CommandLineAccess
      Win32_ComponentCategory
      Win32_ComputerSystem
      Win32_ComputerSystemProcessor
      Win32_ComputerSystemProduct
      Win32_COMSetting
      Win32_Condition
      Win32_CreateFolderAction
      Win32_CurrentProbe
      Win32_DCOMApplication
      Win32_DCOMApplicationAccessAllowedSetting
      Win32_DCOMApplicationLaunchAllowedSetting
      Win32_DCOMApplicationSetting
      Win32_DependentService
      Win32_Desktop
      Win32_DesktopMonitor
      Win32_DeviceBus
      Win32_DeviceMemoryAddress
      Win32_DeviceSettings
      Win32_Directory
      Win32_DirectorySpecification
      Win32_DiskDrive
      Win32_DiskDriveToDiskPartition
      Win32_DiskPartition
      Win32_DisplayConfiguration
      Win32_DisplayControllerConfiguration
      Win32_DMAChannel
      Win32_DriverVXD
      Win32_DuplicateFileAction
      Win32_Environment
      Win32_EnvironmentSpecification
      Win32_ExtensionInfoAction
      Win32_Fan
      Win32_FileSpecification
      Win32_FloppyController
      Win32_FloppyDrive
      Win32_FontInfoAction
      Win32_Group
      Win32_GroupUser
      Win32_HeatPipe
      Win32_IDEController
      Win32_IDEControllerDevice
      Win32_ImplementedCategory
      Win32_InfraredDevice
      Win32_IniFileSpecification
      Win32_InstalledSoftwareElement
      Win32_IRQResource
      Win32_Keyboard
      Win32_LaunchCondition
      Win32_LoadOrderGroup
      Win32_LoadOrderGroupServiceDependencies
      Win32_LoadOrderGroupServiceMembers
      Win32_LogicalDisk
      Win32_LogicalDiskRootDirectory
      Win32_LogicalDiskToPartition
      Win32_LogicalFileAccess
      Win32_LogicalFileAuditing
      Win32_LogicalFileGroup
      Win32_LogicalFileOwner
      Win32_LogicalFileSecuritySetting
      Win32_LogicalMemoryConfiguration
      Win32_LogicalProgramGroup
      Win32_LogicalProgramGroupDirectory
      Win32_LogicalProgramGroupItem
      Win32_LogicalProgramGroupItemDataFile
      Win32_LogicalShareAccess
      Win32_LogicalShareAuditing
      Win32_LogicalShareSecuritySetting
      Win32_ManagedSystemElementResource
      Win32_MemoryArray
      Win32_MemoryArrayLocation
      Win32_MemoryDevice
      Win32_MemoryDeviceArray
      Win32_MemoryDeviceLocation
      Win32_MethodParameterClass
      Win32_MIMEInfoAction
      Win32_MotherboardDevice
      Win32_MoveFileAction
      Win32_MSIResource
      Win32_NetworkAdapter
      Win32_NetworkAdapterConfiguration
      Win32_NetworkAdapterSetting
      Win32_NetworkClient
      Win32_NetworkConnection
      Win32_NetworkLoginProfile
      Win32_NetworkProtocol
      Win32_NTEventlogFile
      Win32_NTLogEvent
      Win32_NTLogEventComputer
      Win32_NTLogEventLog
      Win32_NTLogEventUser
      Win32_ODBCAttribute
      Win32_ODBCDataSourceAttribute
      Win32_ODBCDataSourceSpecification
      Win32_ODBCDriverAttribute
      Win32_ODBCDriverSoftwareElement
      Win32_ODBCDriverSpecification
      Win32_ODBCSourceAttribute
      Win32_ODBCTranslatorSpecification
      Win32_OnBoardDevice
      Win32_OperatingSystem
      Win32_OperatingSystemQFE
      Win32_OSRecoveryConfiguration
      Win32_PageFile
      Win32_PageFileElementSetting
      Win32_PageFileSetting
      Win32_PageFileUsage
      Win32_ParallelPort
      Win32_Patch
      Win32_PatchFile
      Win32_PatchPackage
      Win32_PCMCIAController
      Win32_Perf
      Win32_PerfRawData
      Win32_PerfRawData_ASP_ActiveServerPages
      Win32_PerfRawData_ASPNET_114322_ASPNETAppsv114322
      Win32_PerfRawData_ASPNET_114322_ASPNETv114322
      Win32_PerfRawData_ASPNET_ASPNET
      Win32_PerfRawData_ASPNET_ASPNETApplications
      Win32_PerfRawData_IAS_IASAccountingClients
      Win32_PerfRawData_IAS_IASAccountingServer
      Win32_PerfRawData_IAS_IASAuthenticationClients
      Win32_PerfRawData_IAS_IASAuthenticationServer
      Win32_PerfRawData_InetInfo_InternetInformationServicesGlobal
      Win32_PerfRawData_MSDTC_DistributedTransactionCoordinator
      Win32_PerfRawData_MSFTPSVC_FTPService
      Win32_PerfRawData_MSSQLSERVER_SQLServerAccessMethods
      Win32_PerfRawData_MSSQLSERVER_SQLServerBackupDevice
      Win32_PerfRawData_MSSQLSERVER_SQLServerBufferManager
      Win32_PerfRawData_MSSQLSERVER_SQLServerBufferPartition
      Win32_PerfRawData_MSSQLSERVER_SQLServerCacheManager
      Win32_PerfRawData_MSSQLSERVER_SQLServerDatabases
      Win32_PerfRawData_MSSQLSERVER_SQLServerGeneralStatistics
      Win32_PerfRawData_MSSQLSERVER_SQLServerLatches
      Win32_PerfRawData_MSSQLSERVER_SQLServerLocks
      Win32_PerfRawData_MSSQLSERVER_SQLServerMemoryManager
      Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationAgents
      Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationDist
      Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationLogreader
      Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationMerge
      Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationSnapshot
      Win32_PerfRawData_MSSQLSERVER_SQLServerSQLStatistics
      Win32_PerfRawData_MSSQLSERVER_SQLServerUserSettable
      Win32_PerfRawData_NETFramework_NETCLRExceptions
      Win32_PerfRawData_NETFramework_NETCLRInterop
      Win32_PerfRawData_NETFramework_NETCLRJit
      Win32_PerfRawData_NETFramework_NETCLRLoading
      Win32_PerfRawData_NETFramework_NETCLRLocksAndThreads
      Win32_PerfRawData_NETFramework_NETCLRMemory
      Win32_PerfRawData_NETFramework_NETCLRRemoting
      Win32_PerfRawData_NETFramework_NETCLRSecurity
      Win32_PerfRawData_Outlook_Outlook
      Win32_PerfRawData_PerfDisk_PhysicalDisk
      Win32_PerfRawData_PerfNet_Browser
      Win32_PerfRawData_PerfNet_Redirector
      Win32_PerfRawData_PerfNet_Server
      Win32_PerfRawData_PerfNet_ServerWorkQueues
      Win32_PerfRawData_PerfOS_Cache
      Win32_PerfRawData_PerfOS_Memory
      Win32_PerfRawData_PerfOS_Objects
      Win32_PerfRawData_PerfOS_PagingFile
      Win32_PerfRawData_PerfOS_Processor
      Win32_PerfRawData_PerfOS_System
      Win32_PerfRawData_PerfProc_FullImage_Costly
      Win32_PerfRawData_PerfProc_Image_Costly
      Win32_PerfRawData_PerfProc_JobObject
      Win32_PerfRawData_PerfProc_JobObjectDetails
      Win32_PerfRawData_PerfProc_Process
      Win32_PerfRawData_PerfProc_ProcessAddressSpace_Costly
      Win32_PerfRawData_PerfProc_Thread
      Win32_PerfRawData_PerfProc_ThreadDetails_Costly
      Win32_PerfRawData_RemoteAccess_RASPort
      Win32_PerfRawData_RemoteAccess_RASTotal
      Win32_PerfRawData_RSVP_ACSPerRSVPService
      Win32_PerfRawData_Spooler_PrintQueue
      Win32_PerfRawData_TapiSrv_Telephony
      Win32_PerfRawData_Tcpip_ICMP
      Win32_PerfRawData_Tcpip_IP
      Win32_PerfRawData_Tcpip_NBTConnection
      Win32_PerfRawData_Tcpip_NetworkInterface
      Win32_PerfRawData_Tcpip_TCP
      Win32_PerfRawData_Tcpip_UDP
      Win32_PerfRawData_W3SVC_WebService
      Win32_PhysicalMemory
      Win32_PhysicalMemoryArray
      Win32_PhysicalMemoryLocation
      Win32_PNPAllocatedResource
      Win32_PnPDevice
      Win32_PnPEntity
      Win32_PointingDevice
      Win32_PortableBattery
      Win32_PortConnector
      Win32_PortResource
      Win32_POTSModem
      Win32_POTSModemToSerialPort
      Win32_PowerManagementEvent
      Win32_Printer
      Win32_PrinterConfiguration
      Win32_PrinterController
      Win32_PrinterDriverDll
      Win32_PrinterSetting
      Win32_PrinterShare
      Win32_PrintJob
      Win32_PrivilegesStatus
      Win32_Process
      Win32_Processor
      Win32_ProcessStartup
      Win32_Product
      Win32_ProductCheck
      Win32_ProductResource
      Win32_ProductSoftwareFeatures
      Win32_ProgIDSpecification
      Win32_ProgramGroup
      Win32_ProgramGroupContents
      Win32_ProgramGroupOrItem
      Win32_Property
      Win32_ProtocolBinding
      Win32_PublishComponentAction
      Win32_QuickFixEngineering
      Win32_Refrigeration
      Win32_Registry
      Win32_RegistryAction
      Win32_RemoveFileAction
      Win32_RemoveIniAction
      Win32_ReserveCost
      Win32_ScheduledJob
      Win32_SCSIController
      Win32_SCSIControllerDevice
      Win32_SecurityDescriptor
      Win32_SecuritySetting
      Win32_SecuritySettingAccess
      Win32_SecuritySettingAuditing
      Win32_SecuritySettingGroup
      Win32_SecuritySettingOfLogicalFile
      Win32_SecuritySettingOfLogicalShare
      Win32_SecuritySettingOfObject
      Win32_SecuritySettingOwner
      Win32_SelfRegModuleAction
      Win32_SerialPort
      Win32_SerialPortConfiguration
      Win32_SerialPortSetting
      Win32_Service
      Win32_ServiceControl
      Win32_ServiceSpecification
      Win32_ServiceSpecificationService
      Win32_SettingCheck
      Win32_Share
      Win32_ShareToDirectory
      Win32_ShortcutAction
      Win32_ShortcutFile
      Win32_ShortcutSAP
      Win32_SID
      Win32_SMBIOSMemory
      Win32_SoftwareElement
      Win32_SoftwareElementAction
      Win32_SoftwareElementCheck
      Win32_SoftwareElementCondition
      Win32_SoftwareElementResource
      Win32_SoftwareFeature
      Win32_SoftwareFeatureAction
      Win32_SoftwareFeatureCheck
      Win32_SoftwareFeatureParent
      Win32_SoftwareFeatureSoftwareElements
      Win32_SoundDevice
      Win32_StartupCommand
      Win32_SubDirectory
      Win32_SystemAccount
      Win32_SystemBIOS
      Win32_SystemBootConfiguration
      Win32_SystemDesktop
      Win32_SystemDevices
      Win32_SystemDriver
      Win32_SystemDriverPNPEntity
      Win32_SystemEnclosure
      Win32_SystemLoadOrderGroups
      Win32_SystemLogicalMemoryConfiguration
      Win32_SystemMemoryResource
      Win32_SystemNetworkConnections
      Win32_SystemOperatingSystem
      Win32_SystemPartitions
      Win32_SystemProcesses
      Win32_SystemProgramGroups
      Win32_SystemResources
      Win32_SystemServices
      Win32_SystemSetting
      Win32_SystemSlot
      Win32_SystemSystemDriver
      Win32_SystemTimeZone
      Win32_SystemUsers
      Win32_TapeDrive
      Win32_TemperatureProbe
      Win32_Thread
      Win32_TimeZone
      Win32_Trustee
      Win32_TypeLibraryAction
      Win32_UninterruptiblePowerSupply
      Win32_USBController
      Win32_USBControllerDevice
      Win32_UserAccount
      Win32_UserDesktop
      Win32_VideoConfiguration
      Win32_VideoController
      Win32_VideoSettings
      Win32_VoltageProbe
      Win32_WMIElementSetting
      Win32_WMISetting

posted @ 2014-04-03 12:01  浪剑  阅读(1945)  评论(0编辑  收藏  举报