Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)delvpublished in(发表于) 2014/1/24 9:08:00 asp.net收集机器硬件信息的相关代码片断(cpu频率、磁盘可用空间、内存容量……)_[Asp.Net教程]
/############################################ 版权声明: 文章内容为本站编辑,创作.你可以任意转载、发布、使用但请务必以明文标注文章原始出处及本声明 http://www.opent.cn 作者:浪淘沙 ############################################/ /********************************************************************************** * * 功能说明:收集机器硬件信息的相关代码片断(cpu频率、磁盘可用空间、内存容量……) * 作者: 刘功勋; * 版本:V0.1(C#2.0);时间:2007-1-1 * * *******************************************************************************/ using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Microsoft.Win32; using System.Text; using System.Runtime.InteropServices; using System.Management;//(添加对 System.Management.dll 的引用才能使用 System.Management 命名空间) namespace EC { /// /// 收集机器硬件信息的相关代码片断(cpu频率、磁盘可用空间、内存容量……) /// public class CpuInfoObject { public CpuInfoObject() { // // TOD 在此处添加构造函数逻辑 // } #region 获取CPU频率 /************************************************** * 函数名称:GetCPUFrequency() * 功能说明:获取CPU频率 * 参 数: * 使用示列: * Response.Write(EC.CpuInfoObject.GetCPUFrequency()); ************************************************/ /// /// 获取CPU频率 /// /// 整型cpu频率 public static int GetCPUFrequency() { RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"HARDWARE\DESCRIPTION\System\CentralProcessor\0"); object obj = rk.GetValue("~MHz"); int CPUFrequency = (int)obj; return CPUFrequency; } #endregion #region 获取CPU名称 /************************************************** * 函数名称:GetCPUName() * 功能说明:获取CPU名称 * 参 数: * 使用示列: * Response.Write(EC.CpuInfoObject.GetCPUName()); ************************************************/ /// /// 获取CPU名称 /// /// 字符串型cpu名称 public static string GetCPUName() { RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"HARDWARE\DESCRIPTION\System\CentralProcessor\0"); object obj = rk.GetValue("ProcessorNameString"); string CPUName = (string)obj; return CPUName.TrimStart(); } #endregion #region 磁盘空间 /************************************************** * 函数名称:GetFreeDiskSpace(string DiskName) * 功能说明:获取磁盘空间 * 参 数:DiskName:磁盘名称 D:或E: * 使用示列: * Response.Write(EC.CpuInfoObject.GetFreeDiskSpace("D:")); ************************************************/ /// /// 磁盘空间 /// /// 硬盘名称:D:或E: /// 整型 public static long GetFreeDiskSpace(string DiskName) { ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"" + DiskName + "\""); disk.Get(); string totalByte = disk["FreeSpace"].ToString(); long freeDiskSpaceMb = Convert.ToInt64(totalByte) / 1024 / 1024; return freeDiskSpaceMb; } #endregion #region 获取操作系统版本 /************************************************** * 函数名称:GetOSName() * 功能说明:获取获取操作系统版本名称 * 参 数: * 使用示列: * Response.Write(EC.CpuInfoObject.GetOSName()); ************************************************/ /// /// 获取操作系统版本 /// /// 操作系统版本 public static string GetOSName() { string Rev = ""; System.OperatingSystem osInfo = System.Environment.OSVersion; switch(osInfo.Platform) { //Platform is Windows 95, Windows 98,Windows 98 Second Edition, or Windows Me. case System.PlatformID.Win32Windows: switch(osInfo.Version.Major) { case 0: Rev ="Windows 95"; break; case 10: if(osInfo.Version.Revision.ToString()=="2222A") Rev ="Windows 98 Second Edition"; else Rev ="Windows 98"; break; case 90: Rev="Windows Me"; break; } break; //Platform is Windows NT 3.51, Windows NT 4.0, Windows 2000,or Windows XP. case System.PlatformID.Win32NT: switch (osInfo.Version.Major) { case 3: Rev = "Windows NT 3.51"; break; case 4: Rev = "Windows NT 4.0"; break; case 5: if (osInfo.Version.Minor == 0) Rev = "Windows 2000"; else if (osInfo.Version.Minor == 2) Rev = "Windows 2003"; else Rev = "Windows XP"; break; } break; } return Rev; } #endregion } } asp.net收集机器硬件信息的相关代码片断(cpu频率、磁盘可用空间、内存容量……)
Asp.Net教程:/HtmlData/Program/Asp.Net/
赞