zl程序教程

您现在的位置是:首页 >  后端

当前栏目

asp.net获取机器硬件信息(cpu频率、磁盘可用空间、内存容量等)

Net机器ASP硬件CPU 获取 信息 空间
2023-06-13 09:14:06 时间

复制代码代码如下:


usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingMicrosoft.Win32;
usingSystem.Text;
usingSystem.Runtime.InteropServices;
usingSystem.Management;//(添加对System.Management.dll的引用才能使用System.Management命名空间)
namespaceEC
{
///<summary>
///收集机器硬件信息的相关代码片断(cpu频率、磁盘可用空间、内存容量……)
///</summary>
publicclassCpuInfoObject
{
publicCpuInfoObject()
{
//
//TODO:在此处添加构造函数逻辑
//
}
#region获取CPU频率
/**************************************************
*函数名称:GetCPUFrequency()
*功能说明:获取CPU频率
*参数:
*使用示列:
*Response.Write(EC.CpuInfoObject.GetCPUFrequency());
************************************************/
///<summary>
///获取CPU频率
///</summary>
///<returns>整型cpu频率</returns>
publicstaticintGetCPUFrequency()
{
RegistryKeyrk=Registry.LocalMachine.OpenSubKey(@"HARDWARE\DESCRIPTION\System\CentralProcessor\0");
objectobj=rk.GetValue("~MHz");
intCPUFrequency=(int)obj;
returnCPUFrequency;
}
#endregion
#region获取CPU名称
/**************************************************
*函数名称:GetCPUName()
*功能说明:获取CPU名称
*参数:
*使用示列:
*Response.Write(EC.CpuInfoObject.GetCPUName());
************************************************/
///<summary>
///获取CPU名称
///</summary>
///<returns>字符串型cpu名称</returns>
publicstaticstringGetCPUName()
{
RegistryKeyrk=Registry.LocalMachine.OpenSubKey(@"HARDWARE\DESCRIPTION\System\CentralProcessor\0");
objectobj=rk.GetValue("ProcessorNameString");
stringCPUName=(string)obj;
returnCPUName.TrimStart();
}
#endregion
#region磁盘空间
/**************************************************
*函数名称:GetFreeDiskSpace(stringDiskName)
*功能说明:获取磁盘空间
*参数:DiskName:磁盘名称D:或E:
*使用示列:
*Response.Write(EC.CpuInfoObject.GetFreeDiskSpace("D:"));
************************************************/
///<summary>
///磁盘空间
///</summary>
///<paramname="DiskName">硬盘名称:D:或E:</param>
///<returns>整型</returns>
publicstaticlongGetFreeDiskSpace(stringDiskName)
{
ManagementObjectdisk=newManagementObject("win32_logicaldisk.deviceid=\""+DiskName+"\"");
disk.Get();
stringtotalByte=disk["FreeSpace"].ToString();
longfreeDiskSpaceMb=Convert.ToInt64(totalByte)/1024/1024;
returnfreeDiskSpaceMb;
}
#endregion
#region获取操作系统版本
/**************************************************
*函数名称:GetOSName()
*功能说明:获取获取操作系统版本名称
*参数:
*使用示列:
*Response.Write(EC.CpuInfoObject.GetOSName());
************************************************/
///<summary>
///获取操作系统版本
///</summary>
///<returns>操作系统版本</returns>
publicstaticstringGetOSName()
{
stringRev="";
System.OperatingSystemosInfo=System.Environment.OSVersion;
switch(osInfo.Platform)
{
//PlatformisWindows95,Windows98,Windows98SecondEdition,orWindowsMe.
caseSystem.PlatformID.Win32Windows:
switch(osInfo.Version.Major)
{
case0:
Rev="Windows95";
break;
case10:
if(osInfo.Version.Revision.ToString()=="2222A")
Rev="Windows98SecondEdition";
else
Rev="Windows98";
break;
case90:
Rev="WindowsMe";
break;
}
break;
//PlatformisWindowsNT3.51,WindowsNT4.0,Windows2000,orWindowsXP.
caseSystem.PlatformID.Win32NT:
switch(osInfo.Version.Major)
{
case3:
Rev="WindowsNT3.51";
break;
case4:
Rev="WindowsNT4.0";
break;
case5:
if(osInfo.Version.Minor==0)
Rev="Windows2000";
elseif(osInfo.Version.Minor==2)
Rev="Windows2003";
else
Rev="WindowsXP";
break;
}
break;
}
returnRev;
}
#endregion
}
}