社区
通信技术
帖子详情
如何在dos/win95下编程得到网卡号
netware
2000-01-30 09:07:00
加精
...全文
674
4
打赏
收藏
如何在dos/win95下编程得到网卡号
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hokesoft
2000-05-24
打赏
举报
回复
Delphi里怎么做呢?!
wxz
2000-02-13
打赏
举报
回复
// 以下是本人的完整程序段
#ifndef __TCCARD_H
#define __TCCARD_H
#include<dos.h>
#include<stdio.h>
/***************************************************/
/* 函数 取本机器的Novell网络登陆号 */
class CNetAddress
{
private:
unsigned int LoginNumber; // Login 序号
unsigned char CardAddress[13]; // 网卡地址, 16进制
void ReadLoginNumber(void);
void ReadCardAddress(void);
char Num_Char(int numeric); //
public:
CNetAddress()
{
ReadLoginNumber();
ReadCardAddress();
}
int GetLoginNumber(void)
{
return LoginNumber;
}
unsigned char *GetAddress(void)
{
if(CardAddress[0])return CardAddress;
else return NULL;
}
};
#endif //__TCCARD_CPP
/*************************************************************//***************************************************/
/* 函数 取本机器的Novell网络登陆号 */
void CNetAddress::ReadLoginNumber(void)
{
_AH=0xdc;
geninterrupt(0x21);
LoginNumber=_AL;
}
/* 函数 取本机器的Novell网卡地址 */
void CNetAddress::ReadCardAddress(void)
{
union REGS inregs,outregs;
struct SREGS segregs;
CardAddress[0]='\0';
{
inregs.h.ah=0xEE;
intdosx(&inregs,&outregs,&segregs);
CardAddress[0]=Num_Char((outregs.h.ch>>4)&0x0f);
CardAddress[1]=Num_Char(outregs.h.ch&0x0f);
CardAddress[2]=Num_Char((outregs.h.cl>>4)&0x0f);
CardAddress[3]=Num_Char(outregs.h.cl&0x0f);
CardAddress[4]=Num_Char((outregs.h.bh>>4)&0x0f);
CardAddress[5]=Num_Char(outregs.h.bh&0x0f);
CardAddress[6]=Num_Char((outregs.h.bl>>4)&0x0f);
CardAddress[7]=Num_Char(outregs.h.bl&0x0f);
CardAddress[8]=Num_Char((outregs.h.ah>>4)&0x0f);
CardAddress[9]=Num_Char(outregs.h.ah&0x0f);
CardAddress[10]=Num_Char((outregs.h.al>>4)&0x0f);
CardAddress[11]=Num_Char(outregs.h.al&0x0f);
CardAddress[12]='\0';
}
}
char CNetAddress::Num_Char(int numeric)
{
const Asc0=48;
const AscA=65-10;
if((numeric>=0)&&(numeric<=9))
return Asc0+numeric;
if((numeric>=10)&&(numeric<=15))
return AscA+numeric;
return ' ';
}
#endif //__TCCARD_CPP
/*************************************************************/
netware
2000-02-01
打赏
举报
回复
那么在DOS下呢?
Wingsun
2000-01-30
打赏
举报
回复
这个为题已经有人提过,
在Win95下,我使用的是BCB4.0,实现方法如下:
typedef struct _ASTAT_
{
ADAPTER_STATUS adapt;
NAME_BUFFER NameBuff [30];
}ASTAT, * PASTAT;
ASTAT Adapter;
NCB ncb;
UCHAR uRetCode;
char NetName[50];
memset( &ncb, 0, sizeof(ncb) );
ncb.ncb_command = NCBRESET;
ncb.ncb_lana_num = 0;
uRetCode = Netbios( &ncb );
if (uRetCode!=0)
EdNetAdapterNumber->Text="网卡初始化失败!";
memset(&ncb, 0, sizeof(ncb) );
ncb.ncb_command = NCBASTAT;
ncb.ncb_lana_num = 0;
strcpy( ncb.ncb_callname, "* " );
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);
}
EdNetAdapterNumber->Text=Address ;
}
c语言readme文件内容日记,README_C语言实现以太
网卡
的读写_系统相关_新兴源码下载...
IPMan是一款运行在
Win
95
下的
DOS
命令行程序,主要功能包括查询本机及子网内其他机器的以太网地址、监听网络数据包、发送ARP报文等。该工具还可用于伪装成子网内的任意机器。
计算机导论
dos
,计算机导论 第六讲-操作系统基本知识与常用
DOS
命令.ppt
本文详细介绍了操作系统的基础概念,包括什么是操作系统、其主要功能分类(如多用户/单用户、图形命令界面/字符命令界面),并重点讲解了
DOS
的特性和常用命令。此外,还对比了微机中常见的
Win
dows、UNIX和Linux操作系统。学习
DOS
命令对理解高级系统和
编程
至关重要。
Win
2003服务器RPL远程启动服务的安装与实现(转)
该博客主要围绕
Win
2003服务器RPL启动服务的安装与实现展开,虽未给出具体内容,但明确了核心主题,涉及操作系统及运维相关信息技术内容。
笔记本故障:no bootable device
本文详述了笔记本电脑因硬盘故障导致无法开机的问题,分析了错误信息含义,介绍了PE系统及其作用,并记录了从故障排查到更换硬盘、重装系统的全过程。
Win
dows虚拟机安装使用教程
本文详细介绍虚拟机软件VMware的使用方法,包括如何在一台电脑上模拟出多个操作系统,实现资源的有效隔离与共享。文章涵盖了VMware的硬件要求、运行环境、安装步骤及常见问题解答。
通信技术
4,394
社区成员
28,906
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章