![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ну очень нужна помощь!
Dialogig © (2002-03-20 17:50:00)Помогите пожалуйста.В FAQ и читал про то как определить подключен ли компьютер к сети, но размер функций там слишком большой, может кто-нибудь поможет мне. Пожалуйста приведите примеры проверки связи с интернетом
Wonder (2002-03-21 11:27:00) [1]http://delphi.mastak.com/articles/connect-inet.html
Song (2002-03-21 11:06:00) [2]Ok, первый способ:
1. Нужна dll:
Function InetIsOffLine(Flag:Integer):Boolean; stdcall; external "URL.dll";
....
IF InetIsOffLine(0) then ShowMessage("You are OffLine!") else ShowMessage("You are OnLine");
Для использования этой функции есть одно НО: она возвращает False, когда нет подключения к интернету (то что нужно), но и когда ЕЩЁ НЕ БЫЛО подключения к интернету.
2. Нужна dll
Const Internet_Connetion_Modem=1;
Internet_Connetion_LAN=2;
Internet_Connetion_PROXY=4;
Internet_Connetion_Modem_BUSY=8;
WinetDll="wininet.dll";
Function InternetGetConnectedState(lpdwFlags: LPDWORD; dwReserved: DWORD): Bool; stdcall; external winetdll name "InternetGetConnectedState";
....
Function WhetherInternetConnected: Boolean;
Var dwConnectionTypes: DWORD;
Begin
dwConnectionTypes:=Internet_Connetion_Modem+Internet_Connetion_LAN+Internet_Connetion_PROXY;
Result:=InternetGetConnectedState(@dwConnectionsType,0);
End;
3. Ключик в реестре не нахожу :((
Alx2 (2002-03-21 10:29:00) [3]Готовая программа для этого есть на http://delphi.mastak.ru/download/programs.html
Nebula (2002-03-21 10:05:00) [4]Самый верный способ - попытка подключения, через то-же InternetOpenURL. Есть функция InternetGetConnectedState, но она проверяет есть ли активное default dialup соединение. MSDN, для опеределия соединения с Internet, рекомендует попытаться подключиться к чему-нибудь. Еще есть функция IsDestinationReachable - проверяет доступность хоста, но она не рабоет через Proxy и Firewall (либо соответсвующие натсройки).
Helpwuin (2002-03-20 18:01:00) [5]А при помощи INternetOpen -можно??
Song (2002-03-20 17:57:00) [6]Самый эффективный, но медленный: в реестре ключик появляется при подключении, сейчас какой не помню, но завтра на работе могу посмотреть, если не подскажут до этого времени.
Dialogig (2002-03-20 17:52:00) [7]Маленькая поправочка, подключен ли комп к интернету