您的位置:首页 > 其它

Winform获取机器信息IP、MAC、机器名、CPU编号、主硬盘编号

2014-04-29 16:20 176 查看
转自:http://blog.csdn.net/chinajiyong/article/details/7233650

在Winform获取机器信息IP、MAC、机器名、CPU编号、主硬盘编号

首先,要引入命名空间

using System.Net;

using System.Management;

[csharp]
view plaincopy

/// <summary>
/// 获取本地IP
/// </summary>
/// <returns></returns>
public static string Get_UserIP()
{
string ip = "";
string strHostName = Dns.GetHostName(); //得到本机的主机名
IPHostEntry ipEntry = Dns.GetHostByName(strHostName); //取得本机IP
if (ipEntry.AddressList.Length > 0)
{
ip = ipEntry.AddressList[0].ToString();
}
return ip;
//string userip = "";
//string name = Dns.GetHostName();
//IPAddress[] ips = Dns.GetHostAddresses(name);
//foreach (IPAddress ip in ips)
// userip += ip.ToString() + "|";//所有IP
//return userip;
}
/// <summary>
/// 获取主机域名
/// </summary>
/// <returns></returns>
public static string Get_HostName()
{
return Dns.GetHostName();
}
/// <summary>
/// 获取CPU编号
/// </summary>
/// <returns>返回一个字符串类型</returns>
public static string Get_CPUID()
{
try
{
//需要在解决方案中引用System.Management.DLL文件
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
string strCpuID = null;
foreach (ManagementObject mo in moc)
{
strCpuID = mo.Properties["ProcessorId"].Value.ToString();
break;
}
return strCpuID;
}
catch
{
return "";
}
}
/// <summary>
/// 获取第一分区硬盘编号
/// </summary>
/// <returns>返回一个字符串类型</returns>
public static string GetHardDiskID()
{
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
string strHardDiskID = null;
foreach (ManagementObject mo in searcher.Get())
{
strHardDiskID = mo["SerialNumber"].ToString().Trim();
break;
}
return strHardDiskID;
}
catch
{
return "";
}
}
/// <summary>
/// 获取网卡的MAC地址
/// </summary>
/// <returns>返回一个string</returns>
public static string GetNetCardMAC()
{
try
{
string stringMAC = "";
ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection MOC = MC.GetInstances();
foreach (ManagementObject MO in MOC)
{
if ((bool)MO["IPEnabled"] == true)
{
stringMAC += MO["MACAddress"].ToString();
}
}
return stringMAC;
}
catch
{
return "";
}
}
/// <summary>
/// 获取当前网卡IP地址
/// </summary>
/// <returns></returns>
public static string GetNetCardIP()
{
try
{
string stringIP = "";
ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection MOC = MC.GetInstances();
foreach (ManagementObject MO in MOC)
{
if ((bool)MO["IPEnabled"] == true)
{
string[] IPAddresses = (string[])MO["IPAddress"];
if (IPAddresses.Length > 0)
{
stringIP = IPAddresses[0].ToString();
}
}
}
return stringIP;
}
catch
{
return "";
}
}
public static string GetOutIP()
{
string strUrl = "http://www.ip138.com/ip2city.asp"; //获得IP的网址了
Uri uri = new Uri(strUrl);
System.Net.WebRequest wr = System.Net.WebRequest.Create(uri);
System.IO.Stream s = wr.GetResponse().GetResponseStream();
System.IO.StreamReader sr = new System.IO.StreamReader(s, Encoding.Default);
string all = sr.ReadToEnd(); //读取网站的数据
int i = all.IndexOf("[") + 1;
string tempip = all.Substring(i, 15);
string ip = tempip.Replace("]", "").Replace(" ", "");//找出i
//也可用
//new Regex(@"ClientIP: \[([\d.]+?)\]").Match(new System.Net.WebClient().DownloadString("http://www.skyiv.com/info/")).Groups[1].Value;
return ip;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐