/* 创建者:菜刀居士的博客
* 创建日期: 2014年08月31号
* 功能:获取电脑的相关信息
*
*/
namespace Net.String.ConsoleApplication
{
using System;
using System.Management;
public class ComputerHelper
{
/// <summary>
/// 获取CPU序列号代码
/// </summary>
public static string GetCPUId()
{
return ExecInfo(() => {
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
return mo.Properties["ProcessorId"].Value.ToString();
}
return string.Empty;
});
}
/// <summary>
/// 获取网卡Mac地址
/// </summary>
public static string GetMacAddress()
{
return ExecInfo(() => {
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"] == true)
{
return mo["MacAddress"].ToString();
}
}
return string.Empty;
});
}
/// <summary>
/// 获取硬盘ID
/// </summary>
public static string GetDiskID()
{
return ExecInfo(() => {
ManagementClass mc = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
return (string)mo.Properties["Model"].Value;
}
return string.Empty;
});
}
/// <summary>
/// 操作系统的登录username
/// </summary>
public static string GetUserName()
{
return ExecInfo(() => {
ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
return mo["UserName"].ToString();
}
return string.Empty;
});
}
/// <summary>
/// PC类型
/// </summary>
public static string GetSystemType()
{
return ExecInfo(() =>
{
ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
return mo["SystemType"].ToString();
}
return string.Empty;
});
}
/// <summary>
/// 物理内存
/// </summary>
public static string GetTotalPhysicalMemory()
{
return ExecInfo(() =>
{
ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
return mo["TotalPhysicalMemory"].ToString();
}
return string.Empty;
});
}
/// <summary>
/// 计算机名称
/// </summary>
public static string GetComputerName()
{
return ExecInfo(() => {
return System.Environment.GetEnvironmentVariable("ComputerName");
});
}
private static string ExecInfo(Func<string> func)
{
string result = string.Empty;
try
{
result = func();
}
catch
{
return "unknow";
}
finally { }
return result;
}
/// <summary>
/// 得到clientIP地址
/// </summary>
public string GetClientIdAddress()
{
string ip = string.Empty;
try
{
if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_ForWARDED_For"] == null)
ip = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
else
ip = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_ForWARDED_For"].ToString();
if (string.IsNullOrEmpty(ip))
{
ip = System.Web.HttpContext.Current.Request.UserHostAddress;
}
}
catch { ip = "1.1.1.1"; }
return ip;
}
}
}