vc中如何得到本机网卡地址?

xzou 2001-02-24 11:24:00
用到什么函数?
...全文
138 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
随风bj 2001-02-24
  • 打赏
  • 举报
回复
(一)得到MAC地址
CString GetLocalMacAdd()
{
CString sMacNumber;
sMacNumber = "unknowuser00";
ASTAT Adapter;
NCB Ncb;
UCHAR uRetCode;
//char NetName[50];
LANA_ENUM lenum;
int i;
memset( &Ncb, 0, sizeof(Ncb) );
Ncb.ncb_command = NCBENUM;
Ncb.ncb_buffer = (UCHAR *)&lenum;
Ncb.ncb_length = sizeof(lenum);
uRetCode = Netbios( &Ncb );
for(i=0; i < lenum.length ;i++)
{
memset( &Ncb, 0, sizeof(Ncb) );
Ncb.ncb_command = NCBRESET;
Ncb.ncb_lana_num = lenum.lana[i];
uRetCode = Netbios( &Ncb );
memset( &Ncb, 0, sizeof (Ncb) );
Ncb.ncb_command = NCBASTAT;
Ncb.ncb_lana_num = lenum.lana[i];
strcpy( (char *)Ncb.ncb_callname, "* " );
Ncb.ncb_buffer = (unsigned char *) &Adapter;
Ncb.ncb_length = sizeof(Adapter);
uRetCode = Netbios( &Ncb );
if ( uRetCode == 0 )
{
if (Adapter.adapt.adapter_address[0]+
Adapter.adapt.adapter_address[1]+
Adapter.adapt.adapter_address[2]+
Adapter.adapt.adapter_address[3]+
Adapter.adapt.adapter_address[4]+
Adapter.adapt.adapter_address[5]!=0)
{

sMacNumber.Format("%02x%02x%02x%02x%02x%02x",
Adapter.adapt.adapter_address[0],
Adapter.adapt.adapter_address[1],
Adapter.adapt.adapter_address[2],
Adapter.adapt.adapter_address[3],
Adapter.adapt.adapter_address[4],
Adapter.adapt.adapter_address[5] );
break;
}
}
}
return sMacNumber;
}
(二)得到IP地址:
int GetSelfIp(CString strIp[])
{
int nCount = 0;
WORD wversionrequested;
WSADATA wsadata;
char name[255];
wversionrequested = MAKEWORD( 2, 0 );
//调用WinSock2功能之前必须调用WSAStartup
if ( WSAStartup( wversionrequested, &wsadata ) == 0 )
{
if( gethostname ( name, sizeof(name)) == 0)
{
PHOSTENT hostinfo;
hostinfo = gethostbyname(name);
for(int i = 0; hostinfo!= NULL && hostinfo->h_addr_list[i] != NULL; i++ )
{
strIp[i] = inet_ntoa (*(struct in_addr *)hostinfo->h_addr_list[i]);
nCount++;
}
}
WSACleanup( );
}
return nCount;
}
net_worm 2001-02-24
  • 打赏
  • 举报
回复
先取得本机Hostname,然后由hostname取地址。

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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