C#中获取 IP、MAC等信息实例
2010-08-16 18:20
525 查看
项目中要求或许当前主机的IP和MAC等信息,参考网络上的帖子,重新整理下,直接贴代码:
namespace Iaspec.JWPGIS.Application.LogInfos
{
public class LogInfos
{
LogInfo logInfo;
public LogInfos()
{
this.logInfo = new LogInfo();
}
private string IPAddress = "";
private string MacAddress = "";
private string UserName = "";
private DateTime currentTime = DateTime.Now;
private LogType logType;
public LogType LogType
{
get { return logType; }
set { logType = value; }
}
string hostName = Dns.GetHostName();
/// <summary>
/// 获取当前主机IP地址
/// </summary>
public void GetHostIPAddress()
{
IPAddress[] addressList = Dns.GetHostEntry(this.hostName).AddressList;
if (addressList == null || addressList.Length == 0)
return;
for (int i = 0; i < addressList.Length; i++)
{
this.IPAddress += addressList[i].ToString();
}
}
/// <summary>
/// 获取当前主机Mac地址
/// </summary>
public void GetHostMacAddress()
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (mo["IPEnabled"].ToString() == "True")
this.MacAddress = mo["MacAddress"].ToString();
}
}
/// <summary>
/// 获取当前用户名
/// </summary>
public void GetCurrentUser()
{
if (UserCookie.Instance.LoginUserInfo.UserName != null && UserCookie.Instance.LoginUserInfo.UserName != "")
this.UserName = UserCookie.Instance.LoginUserInfo.UserName;
}
/// <summary>
/// 获取创建时间
/// </summary>
public void GetCurrentTime()
{
this.currentTime = DateTime.Now;
}
public void SaveLog(LogType logType)
{
this.GetCurrentUser();
this.GetCurrentTime();
this.GetHostIPAddress();
this.GetHostMacAddress();
if (this.UserName == null || this.UserName == "")
return;
this.logInfo.UserName = this.UserName;
this.logInfo.CreateDate = this.currentTime;
this.logInfo.IP = this.IPAddress;
this.logInfo.MacAddress = this.MacAddress;
this.logInfo.LogType = (logType == LogType.Login) ? 0 : 1;
BusinessProxy.SaveLogFile(this.logInfo);
}
}
}
红色部分代码即是。当然,这里还可以获取host的其他的一些信息,具体参考MSDN.
namespace Iaspec.JWPGIS.Application.LogInfos
{
public class LogInfos
{
LogInfo logInfo;
public LogInfos()
{
this.logInfo = new LogInfo();
}
private string IPAddress = "";
private string MacAddress = "";
private string UserName = "";
private DateTime currentTime = DateTime.Now;
private LogType logType;
public LogType LogType
{
get { return logType; }
set { logType = value; }
}
string hostName = Dns.GetHostName();
/// <summary>
/// 获取当前主机IP地址
/// </summary>
public void GetHostIPAddress()
{
IPAddress[] addressList = Dns.GetHostEntry(this.hostName).AddressList;
if (addressList == null || addressList.Length == 0)
return;
for (int i = 0; i < addressList.Length; i++)
{
this.IPAddress += addressList[i].ToString();
}
}
/// <summary>
/// 获取当前主机Mac地址
/// </summary>
public void GetHostMacAddress()
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (mo["IPEnabled"].ToString() == "True")
this.MacAddress = mo["MacAddress"].ToString();
}
}
/// <summary>
/// 获取当前用户名
/// </summary>
public void GetCurrentUser()
{
if (UserCookie.Instance.LoginUserInfo.UserName != null && UserCookie.Instance.LoginUserInfo.UserName != "")
this.UserName = UserCookie.Instance.LoginUserInfo.UserName;
}
/// <summary>
/// 获取创建时间
/// </summary>
public void GetCurrentTime()
{
this.currentTime = DateTime.Now;
}
public void SaveLog(LogType logType)
{
this.GetCurrentUser();
this.GetCurrentTime();
this.GetHostIPAddress();
this.GetHostMacAddress();
if (this.UserName == null || this.UserName == "")
return;
this.logInfo.UserName = this.UserName;
this.logInfo.CreateDate = this.currentTime;
this.logInfo.IP = this.IPAddress;
this.logInfo.MacAddress = this.MacAddress;
this.logInfo.LogType = (logType == LogType.Login) ? 0 : 1;
BusinessProxy.SaveLogFile(this.logInfo);
}
}
}
红色部分代码即是。当然,这里还可以获取host的其他的一些信息,具体参考MSDN.
相关文章推荐
- C#获取本机相关mac和ip信息以及服务器ip
- c# 获取客户端ip、mac、机器名、操作系统、浏览器信息
- c# 获取所有网卡的信息(IP。MAC)
- c#(asp.net)获取机器信息(IP)(MAC)(机器名)(CPU编号)(主硬盘编号)
- 利用C#获取计算机名,IP,MAC信息
- C# System.Net.NetworkInformation 命名空间学习之NetworkInterface 类获取IP,DNS,Gateway,Mask, MAC等网络相关信息
- C# 根据ip获取城市等相关信息
- c#获取和设置网卡ip/dns等信息
- 获取网卡信息(网卡MAC,ip,index,devicename)的一般方法(利用IP HELPER api)
- C#获取本机操作系统,ip,基本信息
- 用C#编写获取远程IP,MAC的方法
- 求教C#使用(SnmpSharpNet.dll)Snmp协议,如何获取整个局域网段内的IP设备类型(例PC、路由器等)MAC和主机名?
- Android小功能获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)
- [C#]通过ARP获取Mac与IP的对应表
- android获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)
- 【转】C# 获取主机IP,Mac
- C# 获取局域网内IP的MAC
- C#获取本地计算机名IP,Mac地址
- C#获取本地计算机名IP,Mac地址