怎样通过程序准确的判断机器是否插了网卡?(50分)

  • 主题发起人 主题发起人 zq_hunan
  • 开始时间 开始时间
Z

zq_hunan

Unregistered / Unconfirmed
GUEST, unregistred user!
前提是机器正确安装了网卡,TCP/IP协议,然后我关机拔下网卡重启来判断。
 
你可以用delphi在后台执行dos的ping命令,如果ping通的话就有网卡,反之如果ping不能的话就没有网卡。
 
谁知道,也请告诉我。
 
我不能ping局域网机器的,因为我要在没有连网的情况下检测。
ping本机127.0.0.1是不行的,如果你机器正确安装了网卡协议以后,拔掉网卡一样的ping得通,只能检测出你的协议是否正确安装。
 
你可以用delphi在后台执行dos的ping命令,如果ping通的话就有网卡,反之如果ping不能的话就没有网卡。

这个方法不行。

是否安装TCP/IP协议可以用 WSAStartup 函数,如返回正确就说明安装了 TCPIP 协议。
否则不正确。
 
我需要的是检测网卡的情况,就像设备管理器一样,有没有插网卡可以正确的显示出来。
大虾们,帮帮忙,谢谢。
 
检测一下MAC地址试试。
 
to cozo:
是不能获得MAC地址就表示没插网卡吗?好象网络适配器也有MAC地址吧,如果机器装有拨号软件,那么它的虚拟网卡也有一个MAC地址,基本原理我不是很清楚,下去后我再拔掉网卡试试,多谢了。
 
试一下
{=================================================================
功 能: 检测计算机是否上网
参 数: 无
返回值: 成功: True 失败: False;
备 注: uses Wininet
版 本: 1.0 2003/08/11
=================================================================}
function InternetConnected: Boolean;
const
// local system uses a modem to connect to the Internet.
INTERNET_CONNECTION_MODEM = 1;
// local system uses a local area network to connect to the Internet.
INTERNET_CONNECTION_LAN = 2;
// local system uses a proxy server to connect to the Internet.
INTERNET_CONNECTION_PROXY = 4;
// local system's modem is busy with a non-Internet connection.
INTERNET_CONNECTION_MODEM_BUSY = 8;
var
dwConnectionTypes : DWORD;
begin
dwConnectionTypes := INTERNET_CONNECTION_MODEM+ INTERNET_CONNECTION_LAN
+ INTERNET_CONNECTION_PROXY;
Result := InternetGetConnectedState(@dwConnectionTypes, 0);
end;
 
楼主是判断有没有网卡,你这样判断有什么用呀。如果机器没网卡,用猫上网呢?你该做何解释?
 
多谢各位的指点,但目前还是没有有效的方法。取MAC地址的方法不行,机器不连接网络电缆。
 
我也想知道直接有效的方法。
 
取MAC地址。
 
Faczxy,请看清楚问题
 
看来这个问题又石沉大海了
 
再放几天
 
问题最终还是没有解决,但再次多谢各位的热心。
 

Similar threads

D
回复
0
查看
865
DelphiTeacher的专栏
D
D
回复
0
查看
834
DelphiTeacher的专栏
D
后退
顶部