获取pc物理地址
命名空间:using System.Management;
/// <summary> /// 获取mac物理地址 /// </summary> /// <returns></returns> public string GetMac() { try { ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration"); ManagementObjectCollection queryCollection = query.Get(); foreach (ManagementObject mo in queryCollection) { if (mo["IPEnabled"].ToString() == "True") return mo["MacAddress"].ToString(); } return ""; } catch { return ""; } }
获取平板mac地址:
命名空间:
using System.Net;
using System.Runtime.InteropServices;
添加变量:
protected static string strJavaScript = string.Empty; [DllImport("Iphlpapi.dll")] private static extern int SendARP(Int32 dest, Int32 host, ref Int64 mac, ref Int32 length); [DllImport("Ws2_32.dll")] private static extern Int32 inet_addr(string ip);
private void SetMac() { try { string treatment_id = Hid_treatment_id.Value; string mac = string.Empty; string ip = Request.UserHostAddress.ToString().Trim(); try { mac = getMac(); } catch { lbl.InnerText = "w33w"; } //mac = "00:01:36:D8:9C:C4"; // lbl.InnerText = mac + "," + ip; if (mac != "您没有联网") { int iRetn = commonws.GetInt("CRRT/PAD-登录", "指定某治疗病人的平板MAC地址", new string[] { mac, treatment_id }); } } catch { lbl.InnerText = "ww"; } } private string getMac() { string mac = ""; string strClientIP = Request.UserHostAddress.ToString().Trim(); Int32 ldest = inet_addr(strClientIP); //目的地的ip Int32 lhost = inet_addr(""); //本地服务器的ip Int64 macinfo = new Int64(); Int32 len = 6; int res = SendARP(ldest, 0, ref macinfo, ref len); mac = macinfo.ToString("X"); try { string[] arr_mac = new string[mac.Length / 2]; int k = 0; for (int i = mac.Length; i > 0; i = i - 2) { arr_mac[k] = mac.Substring(i - 2, 2); k++; } mac = ""; foreach (string chars in arr_mac) { mac += chars + ":"; } mac = mac.TrimEnd(':'); } catch { } return mac; }