SiSoft рд╕реИрдВрдбреНрд░рд╛ DIY

рдХреНрдпрд╛ рдЖрдк рд╕рд┐рд╕реЛрдлреНрдЯ рд╕реИрдВрдбреНрд░рд╛ рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?
рдЖрдЗрдП 15 рдорд┐рдирдЯ рдмрд┐рддрд╛рдПрдВ рдФрд░ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдХрдВрдХрд╛рд▓ рдХреЛ рд▓рд┐рдЦреЗрдВред


рдПрдХ рдорд╛рдореВрд▓реА рдЧреАрддрд╛рддреНрдордХ рд╡рд┐рд╖рдпрд╛рдВрддрд░ред рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдпрд╣ рдХрд╣рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ WMI рдЬреИрд╕реА рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬ рд╣реИред рдпрд╣ рд╡рд┐рдВрдбреЛрдЬ рдЪрд╛рд▓рдХ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдРрдб-рдСрди рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдЗрдиреНрд╕ рдФрд░ рдмрд╣рд┐рд╖реНрдХрд╛рд░ рдХреЛ рд╕реАрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреЛ рдЬрдХрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдЕрд░реНрдерд╛рддреН рдкреНрд░рдгрд╛рд▓реАред рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ, рд╣рдо System.Management рдФрд░ System.Management.Instrumentation рд▓рд┐рдЦреЗрдВрдЧреЗред

рдлрд┐рд░ рд╣рдо рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдбрдмреНрд▓реНрдпреВрдПрдордЖрдИ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдореЗрдВ рдХреНрдпрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ, рдЪрд▓реЛ рдЕрдВрдд рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╕рд░рд▓ рд╣реИ рдФрд░ рдЬреИрд╕реЗ рд╣реА рдЖрдк рд▓рд┐рдЦрддреЗ рд╣реИрдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕реАрдзреЗ WMI рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред рдореИрдВ Win32 рдХрдХреНрд╖рд╛рдПрдВ рдЪреБрдирдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рдпрд╣ рдЙрдирдХреА рдорджрдж рд╕реЗ рд╣реИ рдХрд┐ рд╣рдо рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред

рддрд╛рд░реНрдХрд┐рдХ рдбреНрд░рд╛рдЗрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдЖрд╕рд╛рди рдФрд░ рд╕рд░рд▓ рд╣реИ, рдЗрд╕рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдереИрддрд┐рдХ рд╢реВрдиреНрдп PrintDisksStat ()
{
// рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдПрдХ рдЕрдиреБрд░реЛрдз, рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рдФрд░ рдХрд╣рд╛рдБ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
ObjectQuery DiskQuery = new System.Management.ObjectQuery ("Win32_LogicalDisk рдЬрд╣рд╛рдБ DriveType = 3" рд╕реЗ FreeSpace, FileSystem, Size, Name, VolumeName, VolumeSerialNumber рдЪреБрдиреЗрдВ;
// "рдЦреЛрдЬрдХ" рдЬрд╛рдирдХрд╛рд░реА рдХрд╛, рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдПрдХ рдЕрдиреБрдорд╛рдирд┐рдд рдПрдирд╛рд▓реЙрдЧ
ManagementObjectSearcher DiskSearcher = new ManagementObjectSearcher (DiskQuery);
ManagementObjectCollection DiskCollection = DiskSearcher.Get ();
foreach (ManagementObject DiskInfo DiskCollection рдореЗрдВ)
{
Console.WriteLine ("рдбрд┐рд╕реНрдХ рдирд╛рдо:" + DiskInfo ["рдирд╛рдо"]ред ToString ());
Console.WriteLine ("рдбрд┐рд╕реНрдХ рдЖрдХрд╛рд░:" + DiskInfo ["рдЖрдХрд╛рд░"]ред ToString ());
Console.WriteLine ("рд╡реЙрд▓реНрдпреВрдо рдирд╛рдо:" + DiskInfo ["VolumeName"]ред ToString ());
Console.WriteLine ("рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо:" + DiskInfo ["рдлрд╛рдЗрд▓рд╕рд┐рд╕реНрдЯрдо"]ред ToString ());
Console.WriteLine ("рдирд┐рдГрд╢реБрд▓реНрдХ рд╕реНрдерд╛рди:" + DiskInfo ["FreeSpace"]ред ToString ());
Console.WriteLine ("рд╡реЙрд▓реНрдпреВрдо рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░:" + DiskInfo ["VolumeSerialNumber"]ред ToString ();
}
}
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдмрд╣реБрдд рдХрдо рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реЛ рдЧрдпрд╛ - Win32_LogicalDisk рд╡рд░реНрдЧ рдореЗрдВ рдФрд░ рдХреНрдпрд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдпрд╣ рдкрдврд╝рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред

рдЗрд╕реА рддрд░рд╣, рдЖрдк рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдереИрддрд┐рдХ рд╢реВрдиреНрдп PrintProcessorStat ()
{
ObjectQuery ProcessorQuery = рдирдпрд╛ System.Management.ObjectQuery ("рдЪрдпрди рдирд╛рдо, рдХреИрдкреНрд╢рди, рд╡рд┐рд╡рд░рдг, L2CacheSize, рдирд┐рд░реНрдорд╛рддрд╛, Win32_Processor рд╕реЗ рд╕рдВрд╢реЛрдзрди рдЬрд╣рд╛рдВ ProcessorType = 3");
ManagementObjectSearcher ProcessorSearcher = new ManagementObjectSearcher (ProcessorQuery);
ManagementObjectCollection ProcessorCollection = ProcessorSearcher.Get ();
foreach (ManagementObject ProcessorInfo ProcessorCollection рдореЗрдВ)
{
Console.WriteLine ("рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА;");
Console.WriteLine ("рдирд╛рдо:" + ProcessorInfo ["рдирд╛рдо"]ред ToString ());
Console.WriteLine ("рд▓реЗрдмрд▓:" + ProcessorInfo ["рдХреИрдкреНрд╢рди"]ред ToString ());
Console.WriteLine ("рд╡рд┐рд╡рд░рдг:" + ProcessorInfo ["рд╡рд┐рд╡рд░рдг"]ред ToString ());
Console.WriteLine ("рд╕реНрддрд░ 2 рдХреИрд╢:" + ProcessorInfo ["L2CacheSize"]ред ToString ();
Console.WriteLine ("рдирд┐рд░реНрдорд╛рддрд╛:" + ProcessorInfo ["рдирд┐рд░реНрдорд╛рддрд╛"]ред ToString ());
Console.WriteLine ("рд╕рдВрд╢реЛрдзрди:" + ProcessorInfo ["рд╕рдВрд╢реЛрдзрди"]ред ToString ());
}
}

рдлрд┐рд░ рд╕реЗ рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдБ рдХрд┐ MSDN рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣реА рд╕рдм рдореИрдВ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЕрдкрдбреЗрдЯ: рдЙрджрд╛рд╣рд░рдг C # 2.0 рдореЗрдВ рджрд┐рдП рдЧрдП рд╣реИрдВред IDE - VS2005 рдПрдХреНрд╕рдкреНрд░реЗрд╕

Source: https://habr.com/ru/post/In21619/


All Articles