C#中使用ManagementClass获取本机信息
2010-05-20 11:49
423 查看
C#提供 ManagementClass来对机器的信息进行管理,可以通过设定不同的管理类来获得机器的基本信息。下面给出了一些基本的信息的获取方法,包括获取CPU数目,cpu频率,内存大小,硬盘大小。
private void GetLocalInfo()
{
string cpuCount;
string hdSize;
string memorysize;
//得到CPU信息
ManagementClass mcpu = new ManagementClass("Win32_Processor");
ManagementObjectCollection mncpu = mcpu.GetInstances();
cpuCount = mncpu.Count.ToString();
string[] cpuHz = new string[mncpu.Count];
int count = 0;
ManagementObjectSearcher MySearcher = new ManagementObjectSearcher("SELECT * FROM Win32_Processor");
foreach (ManagementObject MyObject in MySearcher.Get())
{
cpuHz[count] = MyObject.Properties["CurrentClockSpeed"].Value.ToString();
count++;
}
mncpu.Dispose();
mcpu.Dispose();
//得到硬盘信息
ManagementClass mcHD = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moHD = mcHD.GetInstances();
foreach (ManagementObject tempob in moHD)
{
hdSize = tempob.Properties["Size"].Value.ToString();
}
moHD.Dispose();
mcHD.Dispose();
//得到内存信息
ManagementClass mcMemory = new ManagementClass("Win32_OperatingSystem");
ManagementObjectCollection mocMemory = mcMemory.GetInstances();
double sizeall = 0;
foreach (ManagementObject mo in mocMemory)
{
if (mo.Properties["TotalVisibleMemorySize"].Value != null)
{
sizeall += double.Parse(mo.Properties["TotalVisibleMemorySize"].Value.ToString());
}
}
memorysize = sizeall.ToString();
mocMemory.Dispose();
mcMemory.Dispose();
}
private void GetLocalInfo()
{
string cpuCount;
string hdSize;
string memorysize;
//得到CPU信息
ManagementClass mcpu = new ManagementClass("Win32_Processor");
ManagementObjectCollection mncpu = mcpu.GetInstances();
cpuCount = mncpu.Count.ToString();
string[] cpuHz = new string[mncpu.Count];
int count = 0;
ManagementObjectSearcher MySearcher = new ManagementObjectSearcher("SELECT * FROM Win32_Processor");
foreach (ManagementObject MyObject in MySearcher.Get())
{
cpuHz[count] = MyObject.Properties["CurrentClockSpeed"].Value.ToString();
count++;
}
mncpu.Dispose();
mcpu.Dispose();
//得到硬盘信息
ManagementClass mcHD = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moHD = mcHD.GetInstances();
foreach (ManagementObject tempob in moHD)
{
hdSize = tempob.Properties["Size"].Value.ToString();
}
moHD.Dispose();
mcHD.Dispose();
//得到内存信息
ManagementClass mcMemory = new ManagementClass("Win32_OperatingSystem");
ManagementObjectCollection mocMemory = mcMemory.GetInstances();
double sizeall = 0;
foreach (ManagementObject mo in mocMemory)
{
if (mo.Properties["TotalVisibleMemorySize"].Value != null)
{
sizeall += double.Parse(mo.Properties["TotalVisibleMemorySize"].Value.ToString());
}
}
memorysize = sizeall.ToString();
mocMemory.Dispose();
mcMemory.Dispose();
}
相关文章推荐
- 【20090903-01】C#中使用ManagementClass获取本机信息
- C#中使用ManagementClass获取本机信息
- C#使用ManagementObjectSearcher来获取系统信息时会有out of memory的异常
- C#中ManagementClass获取本机信息
- ManagementClass类解析和C#如何获取硬件的相关信息
- C#使用Xamarin开发可移植移动应用终章(11.获取设备信息与常用组件,开源一个可开发模版.)
- C#使用反射机制获取类信息
- ABAP-使用cl_oo_class获取类信息
- C#使用反射机制获取类信息
- C#中使用X509Certificate2类获取数字证书颁发者和持有者的名称信息
- C#使用反射机制获取类信息[转]
- C#使用反射机制获取类信息
- c# 使用DirectoryEntry DirectorySearcher 获取域信息
- C# Management 类获取本机各种信息
- 使用ManagementClass("Win32_Processor")获取cpuid失败的解决办法[原创]
- java基础-反射2(反射,反射操作对象,Class对象的使用,类型信息的获取)
- ManagementClass类解析和C#如何获取硬件的相关信息
- c#.net使用webBrowser1获取网站信息源码
- C#调用C++DLL 使用 德卡 读卡器 获取身份证信息
- C#小伎俩获取本地或远程磁盘使用信息