Getting information about the OS:
var wmi = new ManagementObjectSearcher( "select * from Win32_OperatingSystem" ) .Get() .Cast<ManagementObject>() .First(); OS.Name = ((string)wmi["Caption"]).Trim(); OS.Version = (string)wmi["Version"]; OS.MaxProcessCount = (uint)wmi["MaxNumberOfProcesses"]; OS.MaxProcessRAM = (ulong)wmi["MaxProcessMemorySize"]; OS.Architecture = (string)wmi["OSArchitecture"]; OS.SerialNumber = (string)wmi["SerialNumber"]; OS.Build = ((string)wmi["BuildNumber"]).ToUint();
Getting information about the CPU:
var cpu = new ManagementObjectSearcher( "select * from Win32_Processor" ) .Get() .Cast<ManagementObject>() .First(); CPU.ID = (string)cpu["ProcessorId"]; CPU.Socket = (string)cpu["SocketDesignation"]; CPU.Name = (string)cpu["Name"]; CPU.Description = (string)cpu["Caption"]; CPU.AddressWidth = (ushort)cpu["AddressWidth"]; CPU.DataWidth = (ushort)cpu["DataWidth"]; CPU.Architecture = (CPU.CpuArchitecture)(ushort)cpu["Architecture"]; CPU.SpeedMHz = (uint)cpu["MaxClockSpeed"]; CPU.BusSpeedMHz = (uint)cpu["ExtClock"]; CPU.L2Cache = (uint)cpu["L2CacheSize"] * (ulong)1024; CPU.L3Cache = (uint)cpu["L3CacheSize"] * (ulong)1024; CPU.Cores = (uint)cpu["NumberOfCores"]; CPU.Threads = (uint)cpu["NumberOfLogicalProcessors"]; CPU.Name = CPU.Name .Replace( "(TM)", "โข" ) .Replace( "(tm)", "โข" ) .Replace( "(R)", "ยฎ" ) .Replace( "(r)", "ยฎ" ) .Replace( "(C)", "ยฉ" ) .Replace( "(c)", "ยฉ" ) .Replace( " ", " " ) .Replace( " ", " " );
treetey
source share