有没有跨平台的读取网卡MAC地址?windows & linux & unix

lifeforu 2004-11-26 11:47:46
如题
...全文
188 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lifeforu 2004-11-29
  • 打赏
  • 举报
回复
现在写了一个程序要求跨平台实现,并要求对MAC地址加以限制,那我不是要写多个版本?
Windows一个,各个Unix每人一个?
xuzheng318 2004-11-29
  • 打赏
  • 举报
回复

to:lifeforu(苍白)
不能跨平台
yanran_hill 2004-11-29
  • 打赏
  • 举报
回复
为什么这么麻烦?使用arp不就可以知道mac地址吗?
tsohg 2004-11-29
  • 打赏
  • 举报
回复
用winpcap包吧; 可以免费下载! 去搜一下就知道了!
konista 2004-11-29
  • 打赏
  • 举报
回复
可以跨平台吗????
看代码就知道不行啦
lifeforu 2004-11-29
  • 打赏
  • 举报
回复
????
yuanye2008 2004-11-26
  • 打赏
  • 举报
回复
我也想知道!帮你顶!
lifeforu 2004-11-26
  • 打赏
  • 举报
回复
to xuzheng318(forever C++) (老迈马甲NO.1)(学如逆水行舟,不进则退)
可以跨平台吗????
xuzheng318 2004-11-26
  • 打赏
  • 举报
回复
得到 MAC 地址


///////////////////////////////////////////////////////
/// This one works well if you only have one NIC
CString CFormatHtmNameView::GetMACAddr()
{
CString strReturn;
GUID uuid;
// In Win2k or higher, CoCreateGuid no longer returns a mac address, but UuidCreate
// Sequential does.
typedef RPC_STATUS (CALLBACK* UuidCreateSequential_t)(UUID*);
// This doesn't exist Pre win2k,
// in that case it uses CoCreateGuid (which will fail in 2k+) - mc
HMODULE hRpcrt4 = LoadLibrary("rpcrt4.dll"); // Attempt to load RPCRT4.DLL
if(hRpcrt4)
{
UuidCreateSequential_t fpUuidCreateSequential;
fpUuidCreateSequential = (UuidCreateSequential_t)
GetProcAddress(hRpcrt4, "UuidCreateSequential");
// Attempt dynamic load of UuidCreateSequential c
if(fpUuidCreateSequential)
{
// Create Sequential UUID for determination of MAC Address
fpUuidCreateSequential(&uuid);
}
else
{ // OS Doesn't support UuidCreateSequential, so fall back on CoCreateGuid
CoCreateGuid(&uuid);
}
FreeLibrary(hRpcrt4);
}
else
{ // OS Doesn't support UuidCreateSequential, so fall back on CoCreateGuid
CoCreateGuid(&uuid);
}

// Now Format The adapter address - mc
strReturn.Format("%2.2X-%2.2X-%2.2X-%2.2X-%2.2X-%2.2X",
uuid.Data4[2],
uuid.Data4[3],
uuid.Data4[4],
uuid.Data4[5],
uuid.Data4[6],
uuid.Data4[7]);
return strReturn;
}
xuzheng318 2004-11-26
  • 打赏
  • 举报
回复
好像不可以吧!
lifeforu 2004-11-26
  • 打赏
  • 举报
回复
没有吗

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧