赞
踩
用ManagementObjectSearcher 竟然不能解析到头文件,需要手动 Add Referance..
在解决方案--引用--右键--添加引用---程序集---框架---勾选System.Management
前言:
我们在很多情况下想要获得计算机的硬件或操作系统的信息,比如获得CPU序列号给自己的软件添加机器码锁绑定指定电脑。又或者想要获得硬盘分区,声卡显卡等信息。
我们用到的主要类是ManagementObjectSearcher
,该类在System.Management
命名空间下。
有时候我们可以通过Environment
获得一些简单的系统信息。
如:Environment.MachineName;
获得计算机名。 Environment.UserName;
获得操作系统登录用户名。
不过在这篇文章中主要讨论ManagementObjectSearcher
获取计算机硬件及操作系统的信息。
System.Management
using System.Management;
ManagementObjectSearcher
对象 anagementObjectSearcher searcher = new ManagementObjectSearcher("select * from " + Key);
searcher.Get()
获得ManagementObjectCollection
集合ManagementObjectCollection
集合获得ManagementObject
managementObject[name]
或ManagementObject.GetPropertyValue(name)
获得想要的属性 name
该写什么可以遍历打印一下:- foreach (var property in managementObject.Properties)
- {
- Console.WriteLine(property.Name+":"+property.Value);
- }
示例:
- //获取CPU序列号
- public string GetCPUSerialNumber()
- {
- try
- {
- ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_Processor");
- string sCPUSerialNumber = "";
- foreach (ManagementObject mo in searcher.Get())
- {
- sCPUSerialNumber = mo["ProcessorId"].ToString().Trim();
- break;
- }
- return sCPUSerialNumber;
- }
- catch
- {
- return "";
- }
- }
-
- /获取主板序列号
- public string GetBIOSSerialNumber()
- {
- try
- {
- ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_BIOS");
- string sBIOSSerialNumber = "";
- foreach (ManagementObject mo in searcher.Get())
- {
- sBIOSSerialNumber = mo.GetPropertyValue("SerialNumber").ToString().Trim();
- break;
- }
- return sBIOSSerialNumber;
- }
- catch
- {
- return "";
- }
- }
- //获取硬盘序列号
- public string GetHardDiskSerialNumber()
- {
- try
- {
- ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
- string sHardDiskSerialNumber = "";
- foreach (ManagementObject mo in searcher.Get())
- {
- sHardDiskSerialNumber = mo["SerialNumber"].ToString().Trim();
- break;
- }
- return sHardDiskSerialNumber;
- }
- catch
- {
- return "";
- }
- }
-
- //获取网卡地址
- public string GetNetCardMACAddress()
- {
- try
- {
- ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapter WHERE ((MACAddress Is Not NULL) AND (Manufacturer <> 'Microsoft'))");
- string NetCardMACAddress = "";
- foreach (ManagementObject mo in searcher.Get())
- {
- NetCardMACAddress = mo["MACAddress"].ToString().Trim();
- break;
- }
- return NetCardMACAddress;
- }
- catch
- {
- return "";
- }
- }
-
- ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from " + Key);
-
- // 硬件
- 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, // 已安装的网络协议
- 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_PhysicalMedia
- 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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。