网络掉线判断问题,向各位高手请教(200分)

  • 主题发起人 主题发起人 yxd9
  • 开始时间 开始时间
Y

yxd9

Unregistered / Unconfirmed
GUEST, unregistred user!
如何判断网卡和网线掉线呢, 需要向windows2000的托盘中的网络连接标志一样,马上判断
 
强烈关注此题
 
用ping程序ping自己,如果结果产生异常,就表明网络有问题,而且很有可能是掉线!

:Ping程序是一个很基本的问题,我想你肯定会的,如果不会,可以搜索一下以前的帖子:)!
 
同意,实时ping。
 
来自:j_shen2000, 时间:2001-11-05 16:54:00, ID:708294
--------------------------------------------------------------------
如果你事先检索一下论坛,就不用花冤枉分了,这个问题在论坛上讨论过N次了。
uses WinInet;

procedure TForm1.Button1Click(Sender: TObject);

function GetOnlineStatus : Boolean;
var ConTypes : Integer;
begin
ConTypes := INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN + INTERNET_CONNECTION_PROXY;
if (InternetGetConnectedState(@ConTypes, 0) = False)
then Result := False
else Result := True;
end;

begin
if GetOnlineStatus then
ShowMessage(' Connected')
else ShowMessage(' not Connected');
end;

再加个定时器就可以了。
 
不能用ping,特别是安装了杀毒软件的系统,它会拒绝ping回音
 

function InternetGetConnectedState(lpdwFlags: LPDWORD; dwReserved: DWORD): BOOL;
stdcall; external 'wininet.dll' name 'InternetGetConnectedState';

// implement 哎呀,忘记单词了

function GetOnlineStatus : Boolean;
var ConTypes : Integer;
begin
ConTypes := INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN + INTERNET_CONNECTION_PROXY;
if (InternetGetConnectedState(@ConTypes, 0) = False)
then Result := False
else Result := True;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if GetOnlineStatus then
ShowMessage(' Connected')
else ShowMessage(' not Connected');
end;
 
后退
顶部