262 lines
6.9 KiB
C#
262 lines
6.9 KiB
C#
|
using System;
|
|||
|
using System.Management;
|
|||
|
|
|||
|
namespace TsSFCDeivceClient.Common
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// PC客户端帮助类
|
|||
|
/// </summary>
|
|||
|
public class ComputerHelper
|
|||
|
{
|
|||
|
public string CpuID;
|
|||
|
public string MacAddress;
|
|||
|
public string DiskID;
|
|||
|
public string IpAddress;
|
|||
|
public string LoginUserName;
|
|||
|
public string ComputerName;
|
|||
|
public string SystemType;
|
|||
|
public string TotalPhysicalMemory; //单位:M
|
|||
|
private static ComputerHelper _instance;
|
|||
|
public static ComputerHelper Instance()
|
|||
|
{
|
|||
|
if (_instance == null)
|
|||
|
_instance = new ComputerHelper();
|
|||
|
return _instance;
|
|||
|
}
|
|||
|
public ComputerHelper()
|
|||
|
{
|
|||
|
CpuID = GetCpuID();
|
|||
|
MacAddress = GetMacAddress();
|
|||
|
DiskID = GetDiskID();
|
|||
|
IpAddress = GetIPAddress();
|
|||
|
LoginUserName = GetUserName();
|
|||
|
SystemType = GetSystemType();
|
|||
|
TotalPhysicalMemory = GetTotalPhysicalMemory();
|
|||
|
ComputerName = GetComputerName();
|
|||
|
}
|
|||
|
public string GetCpuID()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
//获取CPU序列号代码
|
|||
|
string cpuInfo = "";//cpu序列号
|
|||
|
ManagementClass mc = new ManagementClass("Win32_Processor");
|
|||
|
ManagementObjectCollection moc = mc.GetInstances();
|
|||
|
foreach (ManagementObject mo in moc)
|
|||
|
{
|
|||
|
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
|
|||
|
}
|
|||
|
moc = null;
|
|||
|
mc = null;
|
|||
|
return cpuInfo;
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
return "unknow";
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
public string GetMacAddress()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
//获取网卡硬件地址
|
|||
|
string mac = "";
|
|||
|
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
|
|||
|
ManagementObjectCollection moc = mc.GetInstances();
|
|||
|
foreach (ManagementObject mo in moc)
|
|||
|
{
|
|||
|
if ((bool)mo["IPEnabled"] == true)
|
|||
|
{
|
|||
|
mac = mo["MacAddress"].ToString();
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
moc = null;
|
|||
|
mc = null;
|
|||
|
return mac;
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
return "unknow";
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
public string GetIPAddress()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
//获取IP地址
|
|||
|
string st = "";
|
|||
|
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
|
|||
|
ManagementObjectCollection moc = mc.GetInstances();
|
|||
|
foreach (ManagementObject mo in moc)
|
|||
|
{
|
|||
|
if ((bool)mo["IPEnabled"] == true)
|
|||
|
{
|
|||
|
//st=mo["IpAddress"].ToString();
|
|||
|
System.Array ar;
|
|||
|
ar = (System.Array)(mo.Properties["IpAddress"].Value);
|
|||
|
st = ar.GetValue(0).ToString();
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
moc = null;
|
|||
|
mc = null;
|
|||
|
return st;
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
return "unknow";
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public string GetDiskID()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
//获取硬盘ID
|
|||
|
String HDid = "";
|
|||
|
ManagementClass mc = new ManagementClass("Win32_DiskDrive");
|
|||
|
ManagementObjectCollection moc = mc.GetInstances();
|
|||
|
foreach (ManagementObject mo in moc)
|
|||
|
{
|
|||
|
HDid = (string)mo.Properties["Model"].Value;
|
|||
|
}
|
|||
|
moc = null;
|
|||
|
mc = null;
|
|||
|
return HDid;
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
return "unknow";
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 操作系统的登录用户名
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
public string GetUserName()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
string st = "";
|
|||
|
ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
|
|||
|
ManagementObjectCollection moc = mc.GetInstances();
|
|||
|
foreach (ManagementObject mo in moc)
|
|||
|
{
|
|||
|
|
|||
|
st = mo["UserName"].ToString();
|
|||
|
|
|||
|
}
|
|||
|
moc = null;
|
|||
|
mc = null;
|
|||
|
return st;
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
return "unknow";
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// PC类型
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
public string GetSystemType()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
string st = "";
|
|||
|
ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
|
|||
|
ManagementObjectCollection moc = mc.GetInstances();
|
|||
|
foreach (ManagementObject mo in moc)
|
|||
|
{
|
|||
|
|
|||
|
st = mo["SystemType"].ToString();
|
|||
|
|
|||
|
}
|
|||
|
moc = null;
|
|||
|
mc = null;
|
|||
|
return st;
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
return "unknow";
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 物理内存
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
public string GetTotalPhysicalMemory()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
string st = "";
|
|||
|
ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
|
|||
|
ManagementObjectCollection moc = mc.GetInstances();
|
|||
|
foreach (ManagementObject mo in moc)
|
|||
|
{
|
|||
|
|
|||
|
st = mo["TotalPhysicalMemory"].ToString();
|
|||
|
|
|||
|
}
|
|||
|
moc = null;
|
|||
|
mc = null;
|
|||
|
return st;
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
return "unknow";
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 获取计算机名称
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
public string GetComputerName()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
return System.Environment.GetEnvironmentVariable("ComputerName");
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
return "unknow";
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|