Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как отследить подключение к Интернету? [D7, XP]


Farpik ©   (2006-03-06 14:20:00) 

Здравствуйте!!!
Подскажите, кто знает, как отследить подключение к Интернету??? (Т.е. если подключение активно, то программа выполняет свои действия).


Farpik   (2006-03-07 07:31:00) [1]

Спасибо всем!


HF-Trade   (2006-03-07 04:18:00) [2]

пинг на стабильный севак - майкрософт к примеру. Если все ок - инет есть...
По другому имхо никак...


MaSZ   (2006-03-06 22:46:00) [3]

При этом выделяет InternetGetConnectedState


MaSZ   (2006-03-06 22:40:00) [4]

"function GetConnect(var strKind: string): Boolean;
var
flags: DWORD;
begin
strKind := '';
Result := InternetGetConnectedState(@flags, 0);
if Result then
begin
  if (flags and 1) = 1 then strKind := 'Modem';
  if (flags and 2) = 2 then strKind := 'LAN';
  if (flags and 4) = 4 then strKind := 'Proxy';
  if (flags and 8) = 8 then strKind := 'Modem Busy';
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
strkind:string;
begin
if GetConnect(strKind)and(strkind='Modem') then
begin
ShowMessage('Есть коннект');
end
else
ShowMessage('Нет коннекта');
end;"

Дельфя кричит, что идентификатор не объявлен(


dabreezy   (2006-03-06 18:52:00) [5]


> Marser ©   (06.03.06 18:42) [7]

Ну а если google.com не работает, значит сегодня не день юзера :)


Marser   (2006-03-06 18:42:00) [6]

> [6] dabreezy   (06.03.06 18:32)
> Легче всего взять и проверить через TidHTTP компонент indy.
> Например методом get проверить сайты yandex.ru, rambler.ru,
> google.com и все. Если хотя бы один отвечает значит инет
> включен :)

А если нет, то юзер наблюдает гламурное окошко диалера :-)


dabreezy   (2006-03-06 18:32:00) [7]

Легче всего взять и проверить через TidHTTP компонент indy. Например методом get проверить сайты yandex.ru, rambler.ru, google.com и все. Если хотя бы один отвечает значит инет включен :)


Сергей М.   (2006-03-06 14:33:00) [8]


> Новочеркасский Волк ©   (06.03.06 14:30) [2]


Глупости все это.

Факт подключения (тем или иным образом) к некоей сети не есть сам по себе факт подключения к Интернет.


antonn   (2006-03-06 14:31:00) [9]

если подключение из разряда "Удаленных", то через RasApi


Новочеркасский Волк   (2006-03-06 14:30:00) [10]

Да сам с такой проблеммой столкнулся. Долго искал. Но вот нашёл. ЛОВИ!!!

function GetConnect(var strKind: string): Boolean;
var
 flags: DWORD;
begin
 strKind := '';
 Result := InternetGetConnectedState(@flags, 0);
 if Result then
 begin
   if (flags and 1) = 1 then strKind := 'Modem';
   if (flags and 2) = 2 then strKind := 'LAN';
   if (flags and 4) = 4 then strKind := 'Proxy';
   if (flags and 8) = 8 then strKind := 'Modem Busy';
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
strkind:string;
begin
if GetConnect(strKind)and(strkind='Modem') then
begin
ShowMessage('Есть коннект');
end
else
ShowMessage('Нет коннекта');
end;


Сергей М.   (2006-03-06 14:30:00) [11]

Более того, даже успешное подключение к своей сети, заведомо имеющей выход в сеть инет-провайдера, не может быть фактом подключения к Интернет.


Сергей М.   (2006-03-06 14:28:00) [12]

Никак.
Можно отследить лишь подключение к компьютеру другой сети, которая может быть (но не обязана быть) сетью Интернет-провайдера.


Наверх

Титульная страница Поиск, карта сайта Написать письмо