asp.net获取机器硬件信息(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
}
}
相关文章
- asp.net mvc实现文件下载「建议收藏」
- .Net CLR R2R获取RuntimeFunctions索引
- .NET周报【12月第2期 2022-12-15】
- .netLinux下部署ASP.NET环境指南(linux部署asp)
- .net让Oracle与ASP.NET实现无缝连接(oracleasp)
- .net搭建ASP.NET应用程序在Linux系统上(linux搭建asp)
- .net安装 Linux 上的 ASP.NET 环境(linux安装asp)
- 跨平台利器:.NET在Linux上的运行(.net运行在linux)
- Net访问Oracle数据库的简易方法(.net访问oracle)
- Net调用MySQL技术实践(.net 调用mysql)
- Net框架如何使用MySQL数据库(.net能用mysql吗)
- Net环境下MySQL数据库驱动的研究与应用(.net的mysql驱动)
- Redis无法安装NET组件(redis装不上net)
- ASP.NET服务器路径和一般资源调用
- asp.net下用Aspose.Wordsfor.NET动态生成word文档中的数据表格的方法
- asp.net下按钮点击后禁用的实现代码
- 新手学习.net的一列好走的路径及方法
- asp.net数据类型转换类代码
- .Net中导出数据到Excel(asp.net和winform程序中)
- asp.net中将js的返回值赋给asp.net控件的小例子
- 轻松解决asp.net用户ASPNET登录失败问题的方法分享
- vb.net借助剪贴板将图片导入excel内
- asp.net导出excel的简单方法实例