Delphiで現在のネットワークの接続方式を即座に判断する
3026 ワード
:
, , , , , , InternetGetConnectedState API , IsNetworkAlive API , InternetGetConnectedState , SDK, .Net 。
、InternetGetConnectedState
DELPHI wininet InternetGetConnectedState , , 。
uses wininet; // InternetGetConnectedState
function ConnectionKind :boolean;
var flags: dword;
begin
Result := InternetGetConnectedState(@flags, 0);
if Result then
begin
if (flags and INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM then showmessage(' : ');
if (flags and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then showmessage(' : ');
if (flags and INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY then showmessage(' : ');
if (flags and INTERNET_CONNECTION_MODEM_BUSY)=INTERNET_CONNECTION_MODEM_BUSY then showmessage('MODEM INTERNET ');
end; //if
end; //function
:
INTERNET_CONNECTION_MODEM: //
INTERNET_CONNECTION_LAN: //
INTERNET_CONNECTION_PROXY: //
INTERNET_CONNECTION_MODEM_BUSY: // MODEM INTERNET ( )
InternetGetConnectedState
--------------------------------------------------------------------------------
、IsNetworkAlive
Delphi , , var 。
Function IsNetworkAlive(var lpdwFlagsLib:Integer):Integer;stdcall;external'SENSAPI.DLL';
:
Const NETWORK_ALIVE_LAN = 1; //
Const NETWORK_ALIVE_WAN = 2; //
Const NETWORK_ALIVE_AOL = 4; // 98\95
,
procedure ShowNetWorkState();
var
falg:integer;
Bos:boolean;
begin
Bos:=false;
IsNetworkAlive(falg);
case falg of
NETWORK_ALIVE_LAN:
begin
Showmessage(' 。');
Bos:=true;
end;
NETWORK_ALIVE_WAN:
begin
Showmessage(' 。');
Bos:=true;
end;
NETWORK_ALIVE_AOL:
begin
Showmessage(' 。'); // 98\95 NETWORK_ALIVE_AOL
Bos:=true;
end;
else Showmessage(' 。');
end; //case
if Bos then Showmessage(' !')
else Showmessage(' !');
end;
, , 。
--------------------------------------------------------------------------------
。
、URL.DLL InetIsOffline 。
Delphi , ,
:
function InetIsOffline(Flag: Integer): Boolean; stdcall; external 'URL.DLL';
INTERNET
if InetIsOffline(0) then ShowMessage(' ')
else ShowMessage(' ');
TRUE INTERNET。
:
IE OFFICE97 DLL 。
InetIsOffline
BOOL InetIsOffline(
DWORD dwFlags,
);