Jak mogę sprawdzić czy komputer z zainstalowanym moim programem ma połączenie z inernetem??
0
0
Jeśli po prostu chcesz sprawdzić włączenie sieci, możesz sprawdzić stan kart sieciowych. Jeśli jednak chcesz sprawdzić dostęp do publiczne sieci Internet, a nie tylko dostępność sieci, sprawdź ping do jakiegoś publicznego serwera (choćby www.wp.pl - 212.77.100.101).
0
Może to Ci coś pomoże ?
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, WinInet, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
Button1: TButton;
procedure FormShow(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
function InetIsOffline(Flag: Integer): Boolean; stdcall;
external 'URL.DLL';
var
Form1: TForm1;
implementation
{$R *.dfm}
function Connected: Boolean;
var
Flags: DWORD;
begin
Flags := INTERNET_CONNECTION_MODEM or INTERNET_CONNECTION_LAN or
INTERNET_CONNECTION_PROXY or INTERNET_CONNECTION_MODEM_BUSY;
Result := InternetGetConnectedState(@Flags, 0); // sprawdz polaczenie.
end;
//Do sekcji uses należy dodać moduł WinInet. Funkcja zwraca True jeżeli jest połączenie, a False jeżeli go nie ma.
procedure TForm1.FormShow(Sender: TObject);
begin
if Connected = True then
ShowMessage(' Jest połączenie ( 1 sprawdzenie')
else
ShowMessage(' Brak połączenia ( 1 sprawdzenie');
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Connected = True then
ShowMessage(' Jest połączenie (timer)')
else
ShowMessage(' Brak połączenia ( 1 sprawdzenie');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if InetIsOffline(0) then
ShowMessage('Jest połączenie') else
ShowMessage('Brak połączenie');
end;
end.