function IsConnectedToInternet: Boolean; var dwConnectionTypes: DWORD; begin dwConnectionTypes :=
INTERNET_CONNECTION_MODEM +
INTERNET_CONNECTION_LAN +
INTERNET_CONNECTION_PROXY;
Result := InternetGetConnectedState(@dwConnectionTypes, 0); end;
procedure TForm1.Button1Click(Sender: TObject); begin
if IsConnectedToInternet then ShowMessage('Connected.') else ShowMessage('Not Connected.') end;
function IsConnectedToInternet(lpdwFlags: LPDWORD): Boolean; const WininetDLL = 'wininet.dll'; var hWininetDLL: THandle;
dwReserved: DWORD;
fn_InternetGetConnectedState: function(lpdwFlags: LPDWORD; dwReserved: DWORD): BOOL; stdcall; begin Result := False;
dwReserved := 0;
hWininetDLL := LoadLibrary(WininetDLL); if hWininetDLL > 0 then
begin @fn_InternetGetConnectedState := GetProcAddress(hWininetDLL,'InternetGetConnectedState'); if Assigned(fn_InternetGetConnectedState) then
begin Result := fn_InternetGetConnectedState(lpdwFlags, dwReserved); end;
FreeLibrary(hWininetDLL); end else
raise Exception.Create('Unable to locate function InternetGetConnectedState in library ' + WininetDLL);
end;
procedure TForm1.Button1Click(Sender: TObject); const INTERNET_CONNECTION_MODEM = 1;
INTERNET_CONNECTION_LAN = 2;
INTERNET_CONNECTION_PROXY = 4;
INTERNET_CONNECTION_MODEM_BUSY = 8; var dwConnectionTypes: DWORD; begin dwConnectionTypes :=
INTERNET_CONNECTION_MODEM +
INTERNET_CONNECTION_LAN +
INTERNET_CONNECTION_PROXY; if IsConnectedToInternet(@dwConnectionTypes) then ShowMessage('Connected.') else ShowMessage('Not Connected.') end;