急待帮助,如何得知系统的拨号状态!!!送分!!(100分)

  • 主题发起人 主题发起人 csboy
  • 开始时间 开始时间
C

csboy

Unregistered / Unconfirmed
GUEST, unregistred user!
我用modem拨号上网,如何能够得到当前的连接状态(连接或未连接),我用下面的代码
但有问题:
const
INTERNET_CONNECTION_MODEM = 1;
INTERNET_CONNECTION_LAN = 2;
INTERNET_CONNECTION_PROXY = 4;
INTERNET_CONNECTION_MODEM_BUSY = 8;
function InternetGetConnectedState(lpdwFlags: LPDWORD;
dwReserved: DWORD): BOOL; stdcall; external 'WININET.DLL';
function _IsConnectedToInternet: Boolean;
var
dwConnectionTypes: Integer;
begin
try
dwConnectionTypes := INTERNET_CONNECTION_MODEM +
INTERNET_CONNECTION_LAN +
INTERNET_CONNECTION_PROXY;
if InternetGetConnectedState(@dwConnectionTypes, 0) then
Result := true
else
Result := false;
except
Result := false;
end;
end;
在win2000下调用_IsConnectedToInternet返回真,但我明明还没有拨号。另外,
我本身在一个局域网里(要靠拨号才能登陆internet),当我将本地连接禁用后,
_IsConnectedToInternet才返回假,可我要判断的是是否连接到internet,请问各位专家
以上代码能否实现,或有其他方法也行。
 
判断机子是否连网:

if GetSystemMetrics(SM_NETWORK) AND $01 = $01 then
ShowMessage('Machine is attached to network')
else
ShowMessage('Machine is not attached to network');
 
要用rasapi, 或者读注册表:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=143204
http://www.delphibbs.com/delphibbs/dispq.asp?lid=215471
http://www.delphibbs.com/delphibbs/dispq.asp?lid=143204
http://www.delphibbs.com/delphibbs/dispq.asp?lid=337417
 
后退
顶部