procedure TForm1.Timer1Timer(Sender: TObject);
var
flag: DWORD;
result,i : Boolean;
begin
Result:= InternetGetConnectedState(@flag, 0);
if not Result then
begin
Button1.Click;
Form1.Caption:= 'Интернет не подключен, подключаюсь';
end
else
begin
i:= InternetCheckConnection(PChar('https://rfpro.ru'), $00000001, 0);
if i then
Form1.Caption:= 'Интернет подключен'
else
begin
Form1.Caption:= 'Интернет не подключен, подключаюсь';
Button1.Click;
end;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
flag: DWORD;
result,i : Boolean;
begin
Result:= InternetGetConnectedState(@flag, 0);
if not Result then
begin
Timer1.Enabled:= false;
Button1.Click;
Form1.Caption:= 'Интернет не подключен, подключаюсь';
end
else
begin
i:= InternetCheckConnection(PChar('https://rfpro.ru'), $00000001, 0);
if i then
Form1.Caption:= 'Интернет подключен'
else
begin
Form1.Caption:= 'Интернет не подключен, подключаюсь';
Timer1.Enabled:= false;
Button1.Click;
end;
end;
end;
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Entry: TEdit;
User: TEdit;
Pass: TEdit;
Timer1: TTimer;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button3: TButton;
Label4: TLabel;
Sait: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses shellapi, WinInet;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); // Запускаем Интернет
var
cmd, param, files, dir: PChar;
begin
// rasdial.exe "имя соеденения" "имя пользователя" "пароль"
cmd:= 'open';
files:= 'rasdial.exe';
param:= PChar('"' + Entry.Text + '"' + ' ' + '"' + User.Text + '"' + ' ' + '"' + Pass.Text + '"');
dir:= 'C:';
// вызываем rasdial.exe через Shellexecute
ShellExecute(Self.Handle, cmd, files, param, dir, SW_SHOWMINNOACTIVE);
Timer1.Enabled:= true;
end;
procedure TForm1.Button2Click(Sender: TObject); // Отрубаем Интернет
var
cmd, param, files, dir: PChar;
begin
cmd:= 'open';
files:= 'rasdial.exe';
param:= PChar('"' + Entry.Text + '"' + ' /DISCONNECT');
dir:= 'C:';
ShellExecute(Self.Handle, cmd, files, param, dir, SW_SHOWMINNOACTIVE);
end;
procedure TForm1.Timer1Timer(Sender: TObject); // Проверяем доступность Интернета
var
flag: DWORD;
begin
// Проверяем подключен ли Интернет и дополнительно для подстраховки пинингуем любой сайт, например https://rfpro.ru
if (not InternetGetConnectedState(@flag, 0)) Or (not InternetCheckConnection(PChar(Sait.Text), $00000001, 0)) then
begin
Timer1.Enabled:= false;
Button1.Click;
Form1.Caption:= 'Интернет не подключен, подключаюсь';
end
else
Form1.Caption:= 'Интернет подключен';
end;
procedure TForm1.Button3Click(Sender: TObject); // Запускаем или тормозим мониторинг доступности Интернета
begin
If Timer1.Enabled then
Timer1.Enabled:= false
else
begin
Timer1.Enabled:= true;
Timer1.OnTimer(Timer1);
end;
end;
end.
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.