whats new ¦  programming tips ¦  indy articles ¦  intraweb articles ¦  informations ¦  links ¦  interviews
 misc ¦  tutorials ¦  Add&Win Game

Tips (1541)

Database (90)
Files (137)
Forms (107)
Graphic (114)
IDE (21)
Indy (5)
Internet / LAN (130)
IntraWeb (0)
Math (76)
Misc (126)
Multimedia (45)
Objects/
ActiveX (51)

OpenTools API (3)
Printing (35)
Strings (83)
System (266)
VCL (242)

Top15

Tips sort by
component


Search Tip

Add new Tip

Add&Win Game

Advertising

29 Visitors Online


 
...determine if there is an active connection to the internet (3)?
Autor: bnOne
Homepage: http://kickme.to/bnOne
[ Print tip ]  

Tip Rating (19):  
     


{2. Static linking. }

uses
  
WinInet;

{...}

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;

{**********************************************************}
{2. Dynamic linking. }

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;






Other Possibilities/ Andere Möglichkeiten:
...determine if there is an active connection to the internet ?
...überprüfen ob eine Verbindung zum Internet besteht ?

 

Rate this tip:

poor
very good


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners