1. Local information
1.Native name
public static string getLocalhostName(){ return ("COMPUTERNAME"); }
2. Obtain the MAC address of the machine
public static string getLocalhostMac() { string mac = null; ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration"); ManagementObjectCollection queryCollection = (); foreach (ManagementObject mo in queryCollection) { if (mo["IPEnabled"].ToString() == "True") mac = mo["MacAddress"].ToString(); } return (mac); }
3. Obtain the computer name
public static string getComputerName() { return ; }
4. Monitor resolution
public static string getResolution() { return + " x " + ; }
5. Main display resolution
public static string getMainResolution() { return + " x " + ; }
6. System path
[DllImport("kernel32")] public static extern void GetSystemDirectory(StringBuilder SysDir, int count); public static string getSystemPath() { const int nChars = 128; StringBuilder Buff = new StringBuilder(nChars); GetSystemDirectory(Buff, nChars); return (); }
2. Operating system information
1. Operating system type
public static string getSystemType() { string st = ""; ManagementClass mc = new ManagementClass("Win32_ComputerSystem"); ManagementObjectCollection moc = (); foreach (ManagementObject mo in moc) { st = mo["SystemType"].ToString(); } return st; }
2. Obtain the operating system bit count
public static string getOSBit() { if (Environment.Is64BitOperatingSystem) { return "64bit." } else { return "32bit."; } }
3. Obtain the operating system version
public static string getOSVersion() { return ; }
3. Processor information
1. Number of processors
public static string getProcessorCount() { return (); }
4. CPU information
1. Number of CPUs
public static int getCpuCount() { try { using (ManagementClass mCpu = new ManagementClass("Win32_Processor")) { ManagementObjectCollection cpus = (); return ; } } catch { } return -1; }
2. CPU version information
public static string getCpuVersion() { string st = ""; ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_Processor"); foreach (ManagementObject mo in ()) { st = mo["Version"].ToString(); } return st; }
3. CPU name information
public static string getCpuName() { string st = ""; ManagementObjectSearcher driveID = new ManagementObjectSearcher("Select * from Win32_Processor"); foreach (ManagementObject mo in ()) { st = mo["Name"].ToString(); } return st; }
4. CPU serial number
public static string getCpuSerialNumber() { string strCpu = null; ManagementClass myCpu = new ManagementClass("win32_Processor"); ManagementObjectCollection myCpuConnection = (); foreach (ManagementObject myObject in myCpuConnection) { strCpu = ["Processorid"].(); break; } return strCpu; }
5. CPU manufacturer
public static string getCPUManufacturer() { string st = ""; ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_Processor"); foreach (ManagementObject mo in ()) { st = mo["Manufacturer"].ToString(); } return st; }
6. CPU frequency
The reason why string-type arrays are used here is mainly because of the multi-core of CPU
public static string[] getCpuMHZ() { ManagementClass mc = new ManagementClass("Win32_Processor"); ManagementObjectCollection cpus = (); string[] mHz = new string[]; int c = 0; ManagementObjectSearcher mySearch = new ManagementObjectSearcher("select * from Win32_Processor"); foreach (ManagementObject mo in ()) { mHz[c] = ["CurrentClockSpeed"].(); c++; } (); (); return mHz; }
V. Graphics card information
1. Graphics card PNPDeviceID
public static string getVideoPNPID() { string st = ""; ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_VideoController"); foreach (ManagementObject mo in ()) { st = mo["PNPDeviceID"].ToString(); } return st; }
6. Hard disk information
1. The volume label number of the device hard disk
public static string getDiskVolumeSerialNumber() { ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\""); (); return ("VolumeSerialNumber").ToString(); }
2. The size of the hard disk
public static string getSizeOfDisk() { ManagementClass mc = new ManagementClass("Win32_DiskDrive"); ManagementObjectCollection moj = (); foreach (ManagementObject m in moj) { return ["Size"].(); } return "-1"; }
3. Hard disk serial number
public static string getHardDiskSerialNumber() { try { ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia"); string sHardDiskSerialNumber = ""; foreach (ManagementObject mo in ()) { sHardDiskSerialNumber = mo["SerialNumber"].ToString().Trim(); break; } return sHardDiskSerialNumber; } catch { return ""; } }
7. Motherboard information
1. Motherboard serial number
public static string getBIOSSerialNumber() { try { ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_BIOS"); string sBIOSSerialNumber = ""; foreach (ManagementObject mo in ()) { sBIOSSerialNumber = mo["SerialNumber"].ToString().Trim(); } return sBIOSSerialNumber; } catch { return ""; } }
2. Motherboard manufacturer
public static string getBoardManufacturer() { SelectQuery query = new SelectQuery("Select * from Win32_BaseBoard"); ManagementObjectSearcher mos = new ManagementObjectSearcher(query); data = ().GetEnumerator(); (); ManagementBaseObject board = ; return ("Manufacturer").ToString(); }
3. Motherboard number
public static string getBoardID() { string st = ""; ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_BaseBoard"); foreach (ManagementObject mo in ()) { st = mo["SerialNumber"].ToString(); } return st; }
4. Motherboard model
public static string getBoardType() { string st = ""; ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_BaseBoard"); foreach (ManagementObject mo in ()) { st = mo["Product"].ToString(); } return st; }
8. Memory information
1. Physical memory size
public static string getPhysicalMemory() { string st = ""; ManagementClass mc = new ManagementClass("Win32_ComputerSystem"); ManagementObjectCollection moc = (); foreach (ManagementObject mo in moc) { st = mo["TotalPhysicalMemory"].ToString(); } return st; }
2. Memory utilization rate
[DllImport("kernel32")] private static extern void GlobalMemoryStatus(ref StorageInfo memibfo); [StructLayout()] public struct StorageInfo //This is all in bytes { public uint dwMemoryLoad;//Memory usage} public static string getUtilizationRate() { StorageInfo memInfor = new StorageInfo(); GlobalMemoryStatus(ref memInfor); return ("0.0"); }
9. Network card information
1. Network card hardware address
public static string getMacAddress() { string mac = ""; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = (); foreach (ManagementObject mo in moc) { if ((bool)mo["IPEnabled"] == true) { mac = mo["MacAddress"].ToString(); break; } } return mac; }
2. Network card address
public static 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 ()) { NetCardMACAddress = mo["MACAddress"].ToString().Trim(); } return NetCardMACAddress; } catch { return ""; } }
3. Adapter information
public static NetworkInterface[] getNetWorkInfo() { NetworkInterface[] adapters = (); return adapters; } // Set content to text boxpublic void setContent() { tb_net_work_adapter_num.Text = (); int index = 0; foreach (NetworkInterface adapter in adapters) { index++; //Display network adapter description information, name, type, speed, MAC address tb_net_wark_adapter_info.Text = tb_net_wark_adapter_info.Text + ("------------------------------------------------------------------------------------------------------------------------------ + index + "Adapter information --------------------------------------------------------------------------------------------------------------------------) + "\n"; tb_net_wark_adapter_info.Text = tb_net_wark_adapter_info.Text + ("Description information:" + ) + "\n"; tb_net_wark_adapter_info.Text = tb_net_wark_adapter_info.Text + ("type:" + ) + "\n"; tb_net_wark_adapter_info.Text = tb_net_wark_adapter_info.Text + ("speed:" + / 1000 / 1000 + "MB") + "\n"; tb_net_wark_adapter_info.Text = tb_net_wark_adapter_info.Text + ("MAC Address:" + ()) + "\n"; //Get IPInterfaceProperties instance IPInterfaceProperties adapterProperties = (); //Get and display DNS server IP address information IPAddressCollection dnsServers = ; if ( > 0) { foreach (IPAddress dns in dnsServers) { tb_net_wark_adapter_info.Text = tb_net_wark_adapter_info.Text + ("DNS server IP address:" + dns + "\n"); } } else { tb_net_wark_adapter_info.Text = tb_net_wark_adapter_info.Text + ("DNS server IP address:" + "\n"); } } }
Sample results
--------------------------------------------------------------------------------------------------------------------------------
Description information: Ethernet
Type: Ethernet
Speed: 0MB
MAC address: 9883892C3E84
DNS server IP address: 192.168.0.0
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Description: VirtualBox Host-Only Network #3
Type: Ethernet
Speed: 1000MB
MAC address: 0A002700000B
DNS server IP address: fec0:0:0:ffff::1%1
DNS server IP address: fec0:0:0:ffff::2%1
DNS server IP address: fec0:0:0:ffff::3%1
…
10. Sound card information
1. Sound card PNPDeviceID
public static string getSoundPNPID() { string st = ""; ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_SoundDevice"); foreach (ManagementObject mo in ()) { st = mo["PNPDeviceID"].ToString(); } return st; }
11. Other information
1. Number of mouse buttons
public static string getMouseButtons() { return (); }
12. Network information
1. Network connection
public static string getIsHasNet() { if () { return "Network Connection: Connected"; } else { return "Network connection: Not connected"; } }
2. IP address
public static string getIP() { try { string st = ""; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = (); foreach (ManagementObject mo in moc) { if ((bool)mo["IPEnabled"] == true) { ar; ar = ()(["IpAddress"].Value); st = (0).ToString(); break; } } moc = null; mc = null; return st; } catch { return "unknow"; } }
The above is the detailed content of the sample code for obtaining computer information in C#. For more information about obtaining computer information in C#, please pay attention to my other related articles!