大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
原文转载:http://blog.csdn.net/da_keng/article/details/50589145
纯属转载,复制过来方便编程时寻找。感谢作者:I-Awakening
复制前补充:
在刚学C#,用ManagementObjectSearcher 竟然不能解析到头文件,需要手动 Add Referance..

前言:
我们在很多情况下想要获得计算机的硬件或操作系统的信息,比如获得CPU序列号给自己的软件添加机器码锁绑定指定电脑。又或者想要获得硬盘分区,声卡显卡等信息。
开篇:
我们用到的主要类是ManagementObjectSearcher,该类在System.Management命名空间下。
有时候我们可以通过Environment获得一些简单的系统信息。
如:Environment.MachineName;获得计算机名。 Environment.UserName;获得操作系统登录用户名。
不过在这篇文章中主要讨论ManagementObjectSearcher获取计算机硬件及操作系统的信息。
用法步骤:
- 添加引用:
System.Management - 引入命名空间:
using System.Management; - 创建
ManagementObjectSearcher对象anagementObjectSearcher searcher = new ManagementObjectSearcher("select * from " + Key);
其中的key见下面key列表: - 通过
searcher.Get()获得ManagementObjectCollection集合 - 遍历
ManagementObjectCollection集合获得ManagementObject - 通过
managementObject[name]或ManagementObject.GetPropertyValue(name)获得想要的属性
若不知道这里的name该写什么可以遍历打印一下:
-
foreach (var property in managementObject.Properties) -
{
-
Console.WriteLine(property.Name+":"+property.Value); -
}
- 1
- 2
- 3
- 4
示例:
-
//获取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 ""; -
} -
}
常用Key值:
-
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, // 已安装的网络协议
所有Key:
-
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
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186789.html原文链接:https://javaforall.net
