欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

获取pc电脑和平板物理地址

程序员文章站 2024-02-23 16:27:04
获取pc物理地址 命名空间:using system.management; 复制代码 代码如下: /// /// 获取mac物理地址 //...
获取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;

}