用VC如何通过IP地址取得该机器的网卡号

zengyee 2000-03-16 10:53:00
加精
...全文
748 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
fencer_2000 2001-09-17
  • 打赏
  • 举报
回复
第一段代码不能在2k下用,第二段比较奇怪,得到的地址是随机的,看不懂
hz1101 2001-08-14
  • 打赏
  • 举报
回复
@ @
V
howker 2000-03-27
  • 打赏
  • 举报
回复
GUID的方法,我试了,很好,但只能得到本机MAC,
如何得到其他机器的MAC呢(输入IP)?
Wingsun 2000-03-27
  • 打赏
  • 举报
回复
我的方法在NT下可以,Win9X下也可以。GUID的方法是对的,但是对于没有网卡的机器没有试过,不致对不对。GUID的Data4的最后6位才是网卡号。
usage 2000-03-22
  • 打赏
  • 举报
回复
Wingsun的方法是用NetBios在Win9X下实现,能行,在NT下得用别的办法,
GUID 的办法原理是对的,没试过
半宫佳丽 2000-03-22
  • 打赏
  • 举报
回复
用以下方法行不行?得到的不是卡号吗?然后给我回一封信好吗?
GUID guid;
char address[30];
if(CoCreateGuid(&guid)!=S_OK)
MessageBox("Error");
else
{
sprintf(address,
"%02X-%02X-%02X-%02X-%02X-%02X-%02X-%02X",
guid.Data4[0],guid.Data4[1],guid.Data4[2],guid.Data4[3],
guid.Data4[4],guid.Data4[5],guid.Data4[6],guid.Data4[7]);
address[25] ='\0';
MessageBox(address);
}
sirius 2000-03-18
  • 打赏
  • 举报
回复
没有必要写这么麻烦的code啊~~
ping xxx.xxx.xxx.xxx
然后
arp -a
就看见啦
「已注销」 2000-03-17
  • 打赏
  • 举报
回复
可能涉及到Windows's low-level api.
zengyee 2000-03-17
  • 打赏
  • 举报
回复
Wingsun请详细一点,最好有code
Wingsun 2000-03-17
  • 打赏
  • 举报
回复
我前面的回答有问题,正确的答案是:
typedef struct _ASTAT_
{
ADAPTER_STATUS adapt;
NAME_BUFFER NameBuff [30];
}ASTAT, * PASTAT;

ASTAT Adapter;
NCB ncb;
UCHAR uRetCode;
AnsiString MachineName;
char NetName[50];
memset( &ncb, 0, sizeof(ncb) );
ncb.ncb_command = NCBRESET;
ncb.ncb_lana_num = 0;
uRetCode = Netbios( &ncb );
if (uRetCode!=0)
ShowMessage("网卡初始化失败!");
memset(&ncb, 0, sizeof(ncb) );
ncb.ncb_command = NCBASTAT;
ncb.ncb_lana_num = 0;
memset(ncb.ncb_callname,' ',NCBNAMSZ);
MachineName=Edit1->Text.UpperCase();
strncpy(ncb.ncb_callname,MachineName.c_str(),MachineName.Length());
ncb.ncb_buffer = (char *) &Adapter;
ncb.ncb_length = sizeof(Adapter);

uRetCode = Netbios( &ncb );
if ( uRetCode == 0 )
{
AnsiString Address;
int i;
Address="";
for(i=0;i<6;i++)
{
Address+=IntToHex((int)Adapter.adapt.adapter_address[i],2);
}
ShowMessage(Address);
}
//ncb_callname的第一字符是*表示取得本机信息,否则为要获取信息的计算机的机器名或IP地址。机器名必须大写
softdoctor 2000-03-17
  • 打赏
  • 举报
回复
关注!
oo 2000-03-17
  • 打赏
  • 举报
回复
关注
MarsXia 2000-03-16
  • 打赏
  • 举报
回复
是MAC地址吗?
Wingsun 2000-03-16
  • 打赏
  • 举报
回复
可以通过IP获得该机器的机器名,再由机器名获得MAC地址。
Lin 2000-03-16
  • 打赏
  • 举报
回复
我也想知道。
zengyee 2000-03-16
  • 打赏
  • 举报
回复

16,471

社区成员

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

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

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