Check if computer is connected to the internet #223
I found this snippet long ago on a site called delphi3000 but the site does not exist anymore. This code needs some work. It is supposed to check for a specific URL is online or not. It does not work as intended. It works to determine if the computer is connected or not.
function IsConnected: Boolean; const // Local system has a valid connection to the Internet, but it might or might // not be currently connected. INTERNET_CONNECTION_CONFIGURED = $40; // Local system uses a local area network to connect to the Internet. INTERNET_CONNECTION_LAN = $02; // Local system uses a modem to connect to the Internet INTERNET_CONNECTION_MODEM = $01; // Local system is in offline mode. INTERNET_CONNECTION_OFFLINE = $20; // Local system uses a proxy server to connect to the Internet INTERNET_CONNECTION_PROXY = $04; // Local system has RAS installed. INTERNET_RAS_INSTALLED = $10; var InetState: DWORD; hHttpSession, hReqUrl: HInternet; begin Result:= InternetGetConnectedState(@InetState, 0); if ( Result and ( InetState and INTERNET_CONNECTION_CONFIGURED = INTERNET_CONNECTION_CONFIGURED) ) then begin // so far we ONLY know there's a valid connection. See if we can grab some // known URL ... hHttpSession:= InternetOpen( PChar(Application.Title), // this line is the agent string INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0 ); try hReqUrl:= InternetOpenURL( hHttpSession, PChar('https://www.example.com'{ the URL to check }), nil, 0, 0, 0 ); Result := hReqUrl <> nil; InternetCloseHandle(hReqUrl); finally InternetCloseHandle(hHttpSession); end; end else if ( InetState and INTERNET_CONNECTION_OFFLINE = INTERNET_CONNECTION_OFFLINE ) then Result := False; // we know for sure we are offline. end;
Author: | Unknown |
---|---|
Contributor: | Don Rowlett |
Added: | 2013/04/24 |
Last updated: | 2013/04/24 |