| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- /*******************************************************************************
- * Copyright(c) 2012 dongke All rights reserved. / Confidential
- * 类的信息:
- * 1.程序名称:SystemAPI.cs
- * 2.功能描述:取得本地机器相关信息,如:机器名、IP地址等
- * 编辑履历:
- * 作者 日期 版本 修改内容
- * 欧阳涛 2013/07/14 1.00 新建
- *******************************************************************************/
- using System;
- using System.Net;
- using System.Management;
- namespace Dongke.IBOSS.PRD.Basics.Library
- {
- /// <summary>
- /// 取得本地机器相关信息,如:机器名、IP地址等
- /// </summary>
- public class SystemAPI
- {
- #region 公开属性
- /// <summary>
- /// 取得本地计算机名称
- /// </summary>
- public static string ComputerName
- {
- get
- {
- return System.Windows.Forms.SystemInformation.ComputerName;
- }
- }
- /// <summary>
- /// 取得当前机器所处的域名
- /// </summary>
- public static string DomainName
- {
- get
- {
- return System.Windows.Forms.SystemInformation.UserDomainName;
- }
- }
- /// <summary>
- /// 取得当前登录系统的用户名称
- /// </summary>
- public static string UserName
- {
- get
- {
- return System.Windows.Forms.SystemInformation.UserName;
- }
- }
- /// <summary>
- /// 取得当前计算机的MAC地址
- /// </summary>
- public static string MacAddress
- {
- get
- {
- string mac = "00:00:00:00:00:00";
- try
- {
- ManagementObjectCollection moc = ManagementObjectCollection;
- if (moc == null)
- {
- return null;
- }
- foreach (ManagementObject managementObject in moc)
- {
- if (managementObject["IPAddress"] != null)
- {
- // 因为MAC地址可能存在多个,优先返回存在IP地址的MAC地址
- mac = managementObject["MacAddress"].ToString();
- break;
- }
- }
- }
- catch
- {
- }
- return mac;
- }
- }
- /// <summary>
- /// 取得当前机器的IP地址
- /// </summary>
- public static string IPAddress
- {
- get
- {
- string hostName = Dns.GetHostName(); // 得到本机的主机名
- IPHostEntry ipHostEntry = Dns.GetHostEntry(hostName); // 取得本机IP
- string ipAddressHost = "127.0.0.1";
- foreach (IPAddress ip in ipHostEntry.AddressList)
- {
- if (ip.AddressFamily.ToString() == "InterNetwork")
- {
- ipAddressHost = ip.ToString();
- break;
- }
- }
- return ipAddressHost;
- }
- }
- #endregion
- #region 受保护方法/函数
- private static System.Management.ManagementObjectCollection _managementObjectCollection = null;
- /// <summary>
- /// 取得Win32_NetworkAdapterConfiguration的ManagementObjectCollection
- /// </summary>
- protected static System.Management.ManagementObjectCollection ManagementObjectCollection
- {
- get
- {
- if (_managementObjectCollection != null)
- {
- return _managementObjectCollection;
- }
- try
- {
- System.Management.ManagementObjectSearcher managementObjectSearcher =
- new System.Management.ManagementObjectSearcher(
- "SELECT * FROM Win32_NetworkAdapterConfiguration");
- if (managementObjectSearcher != null)
- {
- _managementObjectCollection = managementObjectSearcher.Get();
- return _managementObjectCollection;
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- return null;
- }
- }
- #endregion
- }
- }
|