这篇文章主要介绍了如何获取pc电脑和平板物理地址,需要的朋友可以参考下
获取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;
}
更多信息请查看IT技术专栏